Giter Club home page Giter Club logo

kurier's Introduction

kurier

A cross-platform GUI client for testing AMQP-based APIs

This application was written for my needs in developing and testing AMQP-based microservices, that will behave like the Postman application. For example, I'm using it for development microservices in the Open Matchmaking project.

Features

  • Postman-like client, but for using with AMQP-based APIs
  • Validating queues, exchanges and routing keys for existing in the virtual host
  • Saving and restoring valid requests from the history
  • Search old requests in the history by the request exchange and the routing key

Requirements

  • Python >= 3.10
  • wxPython >= 4.2

Screenshots

Windows Mac OS X

Building an application

For building an executable for your OS you will need to do the following steps:

  1. Install the Python 3. You can download the latest stable release of from Python language website and install it manually or via other suitable package manager to you.
  2. Clone the git repository on your local machine:
git clone https://github.com/Relrin/kurier.git
cd kurier
  1. Create a virtual environment for all our stuff:
  • For virtualenv use this:
    virtualenv --python=`which python3` venv
  • For standard python venv:
    python3 -m venv venv
  • For virtualenvwrapper:
    mkvirtualenv --python=`which python3` venv
  1. Activate the virtual environent:
  • Windows
    ./venv/Scripts/activate
  • Mac OS X
    source venv/bin/activate
  1. Install the requirements:
pip install -r requirements.txt
pip install -r requirements-build.txt
  1. And run the build from the root of the cloned repository
pyinstaller --clean --workpath=build/temp --distpath=build/dist --onefile --nowindowed --noconsole --name=Kurier ./kurier/main.py 
  1. Get the prepared executable for your OS in the build/dist directory

Note: In the case of the error with virtual environments on Mac OS X that "This program needs access to the screen. Please run with a Framework build of python, and only when you are logged in on the main display of your Mac." you will need to build CPython with Framework support on OS X. For more information read this article.

License

The kurier project is published under BSD license. For more details read the LICENSE file.

kurier's People

Contributors

dependabot-support avatar relrin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

kurier's Issues

Can't build on current MacOS arm systems

(venv) breninsul@MacBook-Air-BreninSul kurier % pyinstaller --clean --workpath=build/temp --distpath=build/dist --onefile --nowindowed --noconsole --name=Kurier ./kurier/main.py
100 INFO: PyInstaller: 3.4
100 INFO: Python: 3.10.7
106 INFO: Platform: macOS-13.0.1-arm64-arm-64bit
107 INFO: wrote /Users/breninsul/kurier/Kurier.spec
108 INFO: UPX is not available.
108 INFO: Removing temporary files and cleaning cache in /Users/breninsul/Library/Application Support/pyinstaller
109 INFO: Extending PYTHONPATH with paths
['/Users/breninsul/kurier', '/Users/breninsul/kurier']
109 INFO: checking Analysis
109 INFO: Building Analysis because Analysis-00.toc is non existent
109 INFO: Initializing module dependency graph...
110 INFO: Initializing module graph hooks...
111 INFO: Analyzing base_library.zip ...
arch: posix_spawnp: /Users/breninsul/kurier/venv/bin/python3.10: Bad CPU type in executable
arch: posix_spawnp: /Users/breninsul/kurier/venv/bin/python3.10: Bad CPU type in executable
1553 INFO: Processing pre-find module path hook   distutils
Traceback (most recent call last):
  File "/Users/breninsul/kurier/venv/bin/pyinstaller", line 8, in <module>
    sys.exit(run())
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/__main__.py", line 111, in run
    run_build(pyi_config, spec_file, **vars(args))
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/__main__.py", line 63, in run_build
    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/building/build_main.py", line 838, in main
    build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/building/build_main.py", line 784, in build
    exec(text, spec_namespace)
  File "<string>", line 6, in <module>
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/building/build_main.py", line 241, in __init__
    self.__postinit__()
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/building/datastruct.py", line 158, in __postinit__
    self.assemble()
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/building/build_main.py", line 346, in assemble
    self.graph = initialize_modgraph(
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/depend/analysis.py", line 613, in initialize_modgraph
    graph.import_hook(m)
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 1420, in import_hook
    target_package, target_module_partname = self._find_head_package(
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 1599, in _find_head_package
    raise ImportError("No module named " + target_package_name)
ImportError: No module named _bootlocale

with --exclude-module _bootlocale flag:

(venv) breninsul@MacBook-Air-BreninSul kurier % pyinstaller --clean --workpath=build/temp --distpath=build/dist --onefile --nowindowed --noconsole --name=Kurier ./kurier/main.py --exclude-module _bootlocale
99 INFO: PyInstaller: 3.4
99 INFO: Python: 3.10.7
105 INFO: Platform: macOS-13.0.1-arm64-arm-64bit
105 INFO: wrote /Users/breninsul/kurier/Kurier.spec
107 INFO: UPX is not available.
107 INFO: Removing temporary files and cleaning cache in /Users/breninsul/Library/Application Support/pyinstaller
108 INFO: Extending PYTHONPATH with paths
['/Users/breninsul/kurier', '/Users/breninsul/kurier']
108 INFO: checking Analysis
108 INFO: Building Analysis because Analysis-00.toc is non existent
108 INFO: Initializing module dependency graph...
109 INFO: Initializing module graph hooks...
110 INFO: Analyzing base_library.zip ...
arch: posix_spawnp: /Users/breninsul/kurier/venv/bin/python3.10: Bad CPU type in executable
arch: posix_spawnp: /Users/breninsul/kurier/venv/bin/python3.10: Bad CPU type in executable
1616 INFO: Processing pre-find module path hook   distutils
1928 INFO: running Analysis Analysis-00.toc
1932 INFO: Caching module hooks...
1934 INFO: Analyzing /Users/breninsul/kurier/kurier/main.py
2123 INFO: Loading module hooks...
2123 INFO: Loading module hook "hook-xml.etree.cElementTree.py"...
2124 INFO: Loading module hook "hook-lib2to3.py"...
2125 INFO: Loading module hook "hook-encodings.py"...
arch: posix_spawnp: /Users/breninsul/kurier/venv/bin/python3.10: Bad CPU type in executable
2130 INFO: Loading module hook "hook-pubsub.core.py"...
arch: posix_spawnp: /Users/breninsul/kurier/venv/bin/python3.10: Bad CPU type in executable
2134 INFO: Loading module hook "hook-sysconfig.py"...
2148 INFO: Loading module hook "hook-xml.py"...
2165 INFO: Loading module hook "hook-pydoc.py"...
2165 INFO: Loading module hook "hook-distutils.py"...
2172 INFO: Looking for ctypes DLLs
2181 INFO: Analyzing run-time hooks ...
2182 INFO: Including run-time hook 'pyi_rth_multiprocessing.py'
2185 INFO: Looking for dynamic libraries
2220 INFO: Looking for eggs
2220 INFO: Using Python library /opt/homebrew/Cellar/[email protected]/3.10.7/Frameworks/Python.framework/Versions/3.10/Python
2221 INFO: Warnings written to build/temp/Kurier/warn-Kurier.txt
2232 INFO: Graph cross-reference written to build/temp/Kurier/xref-Kurier.html
2237 INFO: checking PYZ
2237 INFO: Building PYZ because PYZ-00.toc is non existent
2237 INFO: Building PYZ (ZlibArchive) build/temp/Kurier/PYZ-00.pyz
Traceback (most recent call last):
  File "/Users/breninsul/kurier/venv/bin/pyinstaller", line 8, in <module>
    sys.exit(run())
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/__main__.py", line 111, in run
    run_build(pyi_config, spec_file, **vars(args))
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/__main__.py", line 63, in run_build
    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/building/build_main.py", line 838, in main
    build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/building/build_main.py", line 784, in build
    exec(text, spec_namespace)
  File "<string>", line 18, in <module>
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/building/api.py", line 98, in __init__
    self.__postinit__()
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/building/datastruct.py", line 158, in __postinit__
    self.assemble()
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/building/api.py", line 128, in assemble
    self.code_dict = {
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/building/api.py", line 129, in <dictcomp>
    key: strip_paths_in_code(code)
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/building/utils.py", line 654, in strip_paths_in_code
    consts = tuple(
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/building/utils.py", line 655, in <genexpr>
    strip_paths_in_code(const_co, new_filename)
  File "/Users/breninsul/kurier/venv/lib/python3.10/site-packages/PyInstaller/building/utils.py", line 662, in strip_paths_in_code
    return code_func(co.co_argcount, co.co_kwonlyargcount, co.co_nlocals, co.co_stacksize,
TypeError: 'bytes' object cannot be interpreted as an integer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.