Skip to main content

Telco engineering data library

Project description

teed

Telco engineering data library

Probe and transform raw telco files into CSV.

A simple BulkCm file parsing

(env) joaomg@mypc:~/teed$ python -m teed bulkcm parse data/bulkcm.xml data
Parsing data/bulkcm.xml
Created data/ManagedElement.csv
Created data/ManagementNode.csv
Created data/SubNetwork.csv
Time: 0:00:00.000856
(env) joaomg@mypc:~/teed$

Install from source

git clone https://github.com/joaomg/teed.git
cd teed
pip install -e .

Probe a file

python -m teed bulkcm probe data/bulkcm_with_vsdatacontainer.xml

Parse a file output it's content to CSV files

python -m teed bulkcm parse data/bulkcm_empty.xml data
python -m teed bulkcm parse data/bulkcm_with_header_footer.xml data
python -m teed bulkcm parse data/bulkcm_with_vsdatacontainer.xml data

Usage

Beside command-line teed can be used as a library:

from teed import bulkcm, meas

## bulkcm
stream = bulkcm.BulkCmParser.stream_to_csv("data")
bulkcm.parse("data/bulkcm.xml", "data", stream)

## meas 
meas.parse("data/mdc*xml", "data")

The bulkcm parser extracts content from a single file.

While the meas parser, in a single run, can process any number of XML files using wildcards and directory recursion.

The bulkcm and meas parsers also differ on CSV file creation:

  • bulkcm deletes previously existing CSV files

  • meas appends to existing CSV files

Take notice of these differences when calling the parsers from shell.

Or using them in data pipelines.

Documentation

Probe, split and extract configuration content from bulkcm XML files.

Extract performance data from meas XML files.

How to build teed.

License

The teed library is licensed under:

GNU Affero General Public License v3.0

On ETSI references and usage rights

https://www.etsi.org/intellectual-property-rights

https://www.etsi.org/images/files/IPR/etsi-ipr-policy.pdf

Background

The teed library aims to be a comprehensive parser toolkit for telecommunications engineering data.

It's inspired by frictionless-py. In fact, a production ready data pipeline can naturally glue together teed and frictionless-py.

The former extracting content from telco raw files to CSV.

And the later validating, cleaning and transforming data into a query ready system (parquet, RDBMS).

+---------------+
|Telco raw files|
|               |    
|  .xml  .asn1  |
+---------------+
        |
        |   teed (extract)
        V
+---------------+
| Tabular files |
|               |    
|      .csv     |
+---------------+
        |
        |   frictionless-py (clean, validate, transform, publish)
        V
+---------------+
|    Dataset    |
|    Parquet    |
|     RDBMs     |
+---------------+

Much alike to the work done by PUDL, with Frictionless Data itself, in Frictionless Public Utility Data - A Pilot Study.

Take a look at PUDL code.

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

teed-0.0.6.tar.gz (28.4 kB view details)

Uploaded Source

Built Distribution

teed-0.0.6-py2.py3-none-any.whl (27.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file teed-0.0.6.tar.gz.

File metadata

  • Download URL: teed-0.0.6.tar.gz
  • Upload date:
  • Size: 28.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for teed-0.0.6.tar.gz
Algorithm Hash digest
SHA256 4b546b473a694179a0a37493ddedc2513c5ea8eb13bdcffe0559aa6c974fa4f3
MD5 0c049cce3dcac7122d981d6702fc3431
BLAKE2b-256 9b7c10687da8f78ea72173829fb9c0d0acc43b2952454e11480d83af11b3af98

See more details on using hashes here.

File details

Details for the file teed-0.0.6-py2.py3-none-any.whl.

File metadata

  • Download URL: teed-0.0.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 27.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for teed-0.0.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 fc569e9523df3b4f7db066b339e52dbd8949c526afd102432cb9768a08ef4f71
MD5 1caf1891607530e58e62c5e8e84e4ade
BLAKE2b-256 a01c948be7fc17a343c604090df4aafa916de7de5bc0a831f9da5c43578050fb

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