Skip to main content

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

pytxc-0.1.1.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

pytxc-0.1.1-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

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

Hashes for pytxc-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4c6786766d43dc2d132fd9f0d1bee937c9e554cb2a7b27fd2ce83a51603b71b4
MD5 b22d93e2847e02a6ddae0da745882e9e
BLAKE2b-256 f14bcdc2c3c5a0c96c037971bcde12c89b13f09a72554253774e03bcf7cdce02

See more details on using hashes here.

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

Hashes for pytxc-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3ae21c28881782d942d2f751b6a4c1717456c50ac746b8ead4dd4363a23ebb0b
MD5 fa38988b04fbfd0875e6c5392b01bf54
BLAKE2b-256 73dc101497a7005f2fbb38b67b29a562555180e8616ef38cd02d9ef32fe465cb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page