Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

edfh-data

Python library for the E:D Faction Hub application backend data services:

  • EDDN listener service, receives messages from the EDDN stream and publishes them to a RabbitMQ exchange.
  • EDDN handler service, polls message from a RabbitMQ queue, parses them and stores the relevant info in a relational database.

Requirements

  • Python 3.13 available in the sytem path.
  • Running RabbitMQ and Postgres instances (the included docker-compose.yaml file can set them up for development).

Configuration

The following configuration variables are defined are defined as environment variables, or, for local development, specified in a .env configuration file:

DB_HOST=localhost
DB_PORT=5432  # Default postgres port. Change if different DB than postgres is used.
DB_NAME=edfh
DB_ROOT_PASSWD=<db_root_password>
DB_SA_DIALECT=postgresql+psycopg  # SQLAlchemy dialect. Change if different DB than postgres is used.
DB_USER=dbuser
DB_PASSWD=<db_password>
RMQ_USER=rmquser
RMQ_PASSWD=<rabbitmq_password>
RMQ_HOST=localhost
RMQ_HANDLER_PREFETCH=10
EDFH_EDDN_MESSAGE_MAX_AGE_DAYS=365

Usage

Install the package with the eddn extra:

python -m pip install edfh-data[eddn]

Launch the EDDN message handler service with:

eddn-handle

Launch the EDDN listener service with:

eddn-listen

Development

Python environment

Create a virtual environment using Python 3.13:

python3.13 -m venv .venv --prompt edfh-data --upgrade-deps
source .venv/bin/activate

Install the package in development mode along with the development dependencies:

python -m pip install -e .[dev]

Install pre-commit hooks:

pre-commit install

Database service

Migrate the database with:

alembic upgrade head

Generate a new revision:

alembic revision --autogenerate -m "Revision message"

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edfh_data-0.20.0rc1.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

edfh_data-0.20.0rc1-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file edfh_data-0.20.0rc1.tar.gz.

File metadata

  • Download URL: edfh_data-0.20.0rc1.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.15

File hashes

Hashes for edfh_data-0.20.0rc1.tar.gz
Algorithm Hash digest
SHA256 8f0907fbea235ee663f59b7acca233581174692a802d54e9acc0e84f6bf3c978
MD5 11c7221919b2daef87cdfa8a392fecbe
BLAKE2b-256 58f6c8978c5e5b763abbe6888704bb457c0db2ebe13fdf103777ee0d317f09d3

See more details on using hashes here.

File details

Details for the file edfh_data-0.20.0rc1-py3-none-any.whl.

File metadata

  • Download URL: edfh_data-0.20.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.15

File hashes

Hashes for edfh_data-0.20.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 9f14bd7b4ba98fe5fda99b54c73dd4108947f79a406bf1b78f233a49ed978f34
MD5 62d5c118b1f66b5c4050dbd6b868e44b
BLAKE2b-256 8ef1c35a643febb3fb812515cee0d9532d618eaf54906b281fc4e9c99edd3a02

See more details on using hashes here.

Release history Release notifications | RSS feed

0.20.1

2 files

0.20.0

2 files

This release

0.20.0rc1 This release

2 files

0.19.0

2 files

0.18.1

2 files

0.18.0

2 files

0.17.0

2 files

0.16.1

2 files

0.16.0

2 files

0.15.0

1 file

0.14.1

2 files

0.14.0

2 files

0.13.0

2 files

0.12.0

2 files

0.11.1

2 files

0.11.0

2 files

0.10.0

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.0

2 files

0.5.2

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page