Python parser from TransXChange.
Project description
pytxc
Quick start
Installation
Use pip
to install pytxc
.
python -m pip install pytxc
Usage
The Timetable
class is used to parse and interact with
TransXChange files.
from pathlib import Path
from pytxc import Timetable
>> filepath = "path/to/transxchange/file.xml"
>> timetable = Timetable.from_file_path(Path(filepath))
>> timetable.header
Header(
creation_date_time=datetime.datetime(2020, 11, 22, 11, 0),
modification_date_time=datetime.datetime(2021, 12, 17, 11, 8, 35),
file_name="file.xml",
modification="revise",
schema_version="2.4",
revision_number=159,
)
The StopPoint
s in a TransXChange can be accessed through the stop_points
attribute.
>> timetable.stop_points[0]
AnnotatedStopPointRef(
stop_point_ref=StopPointRef(text="077072002S"),
common_name="High Street Stand S",
)
Similarly, RouteSections
can be accessed using the route_sections
attribute.
>> timetable.route_sections[0]
RouteSection(id='RS1')
The naming conventions used for the Python objects will more or less match those
of TransXChange for example, the first JourneyPattern
of a StandardService
is
usually found in a Service
of the Services
block.
Using pytxc
it can be accessed as follows,
>> timetable.services[0].standard_services[0].journey_patterns[0]
JourneyPattern(
id="JP1",
CreationDateTime="2020-11-22T11:00:00",
ModificationDateTime="2021-12-17T11:08:35",
Modification="revise",
RevisionNumber="159",
)
When interacting with references, pytxc
provides a resolve
method to find
the original element in the TransXChange file. For example if a JourneyPattern
contains a RouteRef
then calling resolve
on the route_ref
object will
return the original Route
object.
>> jp = timetable.services[0].standard_services[0].journey_patterns[0]
>> jp.route_ref.resolve()
Route(private_code='35st-40', description='Stockton - Wolviston Court')
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pytxc-0.1.1.tar.gz
.
File metadata
- Download URL: pytxc-0.1.1.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.13.0-1021-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c6786766d43dc2d132fd9f0d1bee937c9e554cb2a7b27fd2ce83a51603b71b4 |
|
MD5 | b22d93e2847e02a6ddae0da745882e9e |
|
BLAKE2b-256 | f14bcdc2c3c5a0c96c037971bcde12c89b13f09a72554253774e03bcf7cdce02 |
File details
Details for the file pytxc-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: pytxc-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.13.0-1021-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ae21c28881782d942d2f751b6a4c1717456c50ac746b8ead4dd4363a23ebb0b |
|
MD5 | fa38988b04fbfd0875e6c5392b01bf54 |
|
BLAKE2b-256 | 73dc101497a7005f2fbb38b67b29a562555180e8616ef38cd02d9ef32fe465cb |