Skip to main content

Jordan ?

Jordan project let an executing program being interacted with, from anywhere. Once registered to a Jordan server, a program instance becomes a Jordan client which may emit statuses (such as logs and progress details), and may react to some user action. For example, a Human user may want to trigger an email sending for reporting purpose. Actions are generic, as much as the App GUI. Therefore, you already have an App for your program !

Get started

  1. Get a working Jordan server instance

  2. Import jordan

     from jordan_py import jordan
    
  3. In your Python program, register to this server

     jordan_instance = jordan.register('<jordan_server_url>')
    
    1. Send a status

       jordan_instance.send_status('The program is well started.')
      
    2. React on received message

       while True:
           if jordan_message = jordan_instance.read_message():
                   if jordan_message.action_name == 'BREAK_LOOP':
                       break
      
  4. If the server closed registration (JORDAN_REGISTRATION_KEY set on its side), present the key

     jordan_instance = jordan.register('<jordan_server_url>', registration_key='<key>')
    

    Leaving the argument out makes the library read the JORDAN_REGISTRATION_KEY environment variable instead. Without a valid key such a server answers 401, and 429 when too many attempts come from the same address in a short window.

More use cases

Explore samples for details on features like :

  • action
  • task
  • status type

Action

Has a name, and optionally (typed) (defaulted) parameters. e.g.

        actions = jordan.with_action('send_email')
                .with_parameter('recipient')
                .with_parameter('delay', jordan.PARAMETER_TYPE_INT, 0)
                .build()

        jordan_instance = jordan.register('<jordan_server_url>', 'sample-client-sending-email', actions)

Task

Hierarchy of task/sub-task. The jordan client instance returned by register() function is a root task.

    meal_task = dinner_jordan_instance.create_task('meal')
    dessert_task = dinner_jordan_instance.create_task('dessert')
    meal_task.send_status('Not enough food in storage')
    dessert_task.send_status('Dessert is ready')

Status Type

May be easier to understand and analyze statuses (in a client app which allows filtering).

    meal_task.send_failure_status('Not enough food in storage')
    dessert_task.send_status('Dessert is being prepared')
    dessert_task.send_progress(50)
    dessert_task.send_success_status('Dessert is ready')
    dessert_task.send_typed_status('eaten', 'Dessert has been eaten by Michael')

Release files for jordan-py 2.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jordan-py 2.1.0
File Size Uploaded
jordan_py-2.1.0.tar.gz 9.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jordan-py 2.1.0
File Interpreter ABI Platform
jordan_py-2.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 18.8 kB

Release files / jordan_py-2.1.0.tar.gz

Download URL jordan_py-2.1.0.tar.gz
Size 9.5 kB
Tags Source
SHA-256 checksum
How to use checksums
161b0d9c2c277c4c1489d362374181b8e4173b905c1d3b518976415bd5ce035b
BLAKE2b-256 checksum
How to use checksums
13dc79b2e5980a55421f446b77c49eeea6b46273f24020ce854cef3c1e0f794e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.

Transparency log

Release files / jordan_py-2.1.0-py3-none-any.whl

Download URL jordan_py-2.1.0-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1fb09960474d241c9cdb7f9a58097ee470052544b8974155f7c7f8fe06c84e39
BLAKE2b-256 checksum
How to use checksums
d89405696b25d0627e53272cd93947ad2899ff6650f450acf06223e49e8823cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.1.0 This release

2 release files

2.0.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page