DCC-EX_py
A simple way to connect to your DCC-EX controlled model railroad using python code without having to write DCC-EX commands manually.
DCC-EX is an Arduino powered DIY tool for running DCC model trains on a layout. This package wraps the protocol described in the DCC-EX Native Commands Summary Reference to be easy to use from python code.
- Free software: MIT License
- Documentation: https://github.com/Zenith08/DCC-EX_py/wiki
This package is in early development, breaking changes may happen until it is marked version 1.0.
Features
- Connects to a DCC-EX base station and wraps commands to make automating layouts easier.
- Parses feedback from the command station and provides callbacks for important events.
Get Started
Documentation is available on the GitHub Wiki including code for the examples.
Examples
Single Sound-Enabled Train:
This video shows a train running a simple loop with sound triggers and stopping based on sensors in the track.
Multiple Complex Trains
This video shows what can be done when multiple trains are programmed to perform complex behavior. The routes are all pre-planned and designed to loop.
Be aware that the crossing signal is being controlled by EX-RAIL automation on the command station instead of externally by the python script.
This project is not an official DCC-EX project nor is it endorsed by them. I just used the name that best decribes the funcionality and will change it if it creates issues.
Metadata
Release files for DCC-EX-py 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dcc_ex_py-1.0.0.tar.gz | 33.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dcc_ex_py-1.0.0-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 55.6 kB
Release files / dcc_ex_py-1.0.0.tar.gz
| Download URL | dcc_ex_py-1.0.0.tar.gz |
|---|---|
| Size | 33.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0e9b29587e1446dc1c58c2baecd7a36ff3ccc57f96504a6079f3c96836f8d2c7
|
|
BLAKE2b-256 checksum How to use checksums |
d97cb02dea2000bdc20ad18460c12c0f943ecd4c6aa612a9045b9f8d446937e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 Apr 13, 2025.
Transparency logRelease files / dcc_ex_py-1.0.0-py2.py3-none-any.whl
| Download URL | dcc_ex_py-1.0.0-py2.py3-none-any.whl |
|---|---|
| Size | 21.7 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
a48598924d542c78c081ed84e44a11aa291b84b16a0d037f4e0fb3896a06875d
|
|
BLAKE2b-256 checksum How to use checksums |
0aa553ccddda72a3e42d0b08895c981430aa52b608c96586202492868fdcb323
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 Apr 13, 2025.
Transparency log