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 StopPoints 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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pytxc-0.1.6.tar.gz.
File metadata
- Download URL: pytxc-0.1.6.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.13.0-1022-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
372f33db0eec45e9676145976bc2c95757855b8ed4193c503a0cde9071eb1ffe
|
|
| MD5 |
f321b42efa04434a34371cd4b4e93444
|
|
| BLAKE2b-256 |
8f31f59982bff7e2a29641a7f79c0465005b533e7b302d050414e297156f8d0b
|
File details
Details for the file pytxc-0.1.6-py3-none-any.whl.
File metadata
- Download URL: pytxc-0.1.6-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.13.0-1022-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40578b9a5be69bbd83559b6ba70362713c6db0691d5fb07a3046ba99118b2772
|
|
| MD5 |
58310eeb3b0e2a8e7cbb1066e6996bdd
|
|
| BLAKE2b-256 |
aab666b9b5b2f423790f005a7afd8fc3a32817e9212af5d4ddb53648dc8a7829
|