Skip to main content

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.0.tar.gz (16.8 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.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: edfh_data-0.20.0.tar.gz
  • Upload date:
  • Size: 16.8 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.0.tar.gz
Algorithm Hash digest
SHA256 f310eb6444ac24260fb63003d789befebec42c24f26bfe24c0a801321a603e1d
MD5 6938cef503601ef6a138f53d00697f04
BLAKE2b-256 40b8727d200e7eae66df362aee6712b6e620f57f589789617b6a402be88a2b32

See more details on using hashes here.

File details

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

File metadata

  • Download URL: edfh_data-0.20.0-py3-none-any.whl
  • Upload date:
  • Size: 16.8 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eefd05a013918415e750f05e6c27c7a7b9e97834cd4e792d796df651f9bd4911
MD5 a7e4a02cf3fe33ee4e0f2068d832a2b4
BLAKE2b-256 44f5f96a65afe40b783bd2e75c5932380810f962d53e89fecec31940b49532e1

See more details on using hashes here.

Release history Release notifications | RSS feed

0.20.1

2 files

This release

0.20.0 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