Skip to content

Postman repl uses IPython to present the user with an interface to communicate with APIs. It loads postman configuration data into global state, allowing for quick and easy communication with an API.

License

Notifications You must be signed in to change notification settings

johnnadratowski/postman-repl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Postman REPL

Postman repl uses IPython to present the user with an interface to communicate with APIs. It loads postman configuration data into global state, allowing for quick and easy communication with an API.

Installation

pip install postman_repl

Features

  • Interactive history
  • Loading postman collections and environments
  • postman environment variable replacement
  • Tab completion
  • Middleware
  • Help descriptions

Loading

  • You can load middleware, environments, and requests through command line flags
  • You can load new collections at runtime using the load_collection function
  • You can load new environments at runtime using the load_environment function
  • You can load middleware by calling load_middleware

Requests

  • Requests are loaded into global P variable. Tab completion and help functions supported.
  • Requests are namespaced under there folder name.
  • You can simply call the request with no args to use the default parameters from the Postman config
  • Requests use the "requests" library. You can pass the kwargs for the request.
  • You can pass an environment to the requests, or it will use the global "E" environment
  • Returns the response

Middleware

  • Middleware is stored in global MW variable
  • Middleware will be called when there is a foldername_request name match
    • For example, if you have a folder "authentication" and a request "authenticate", your middleware function name should be authentication_authenticate
    • Having no folder is supported, it would just be request name (for example: "authenticate")
  • Middleware should be defined in a separate python module
  • Middleware is a function that takes 3 parameters
    • The function to run the request, taking a single argument for the kwargs
    • The kwargs that will be ran in the run function
    • The env that the run function will use
  • After request, some global variables are set
    • R holds the response
    • D holds the data
    • J holds the data, parsed as JSON

History

  • The global H variable holds the history
  • You can see the history by calling H()
  • You can rerun a history call by calling H(index)
  • You can inspect the history with H.history
  • Each history has the response, data, and JSON data attached to it

TODO

  • TESTS!
  • Support for other serialization formats besides JSON
  • Add auth support
  • Investigate postman unsupported features

About

Postman repl uses IPython to present the user with an interface to communicate with APIs. It loads postman configuration data into global state, allowing for quick and easy communication with an API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages