Skip to main content

shaping data

Project description

protoform

Release Build status codecov Commit activity License

shaping data

Getting started with your project

Concept of protoform

protoform is a data operation management system implemented in python using a graph and network (python-igraph) to handle the manipulation of data structure. protoform leverages tasks and performed operations to the data graph by these steps.

  • Define the source of data (for instance from sql database, csv file).
  • Define the tasks.
  • Convert the source of data and tasks to a graph (data graph and task graph)
  • Execute protoform. protoform will digest the tasks and independently operate in parallel (unless you define dependencies) then apply those tasks to the raw data, and export new data.

Working modules

  • cli : captures the arguments of task and data paths and executes operations regarding the task plans.
  • io : converts tasks to task graphs, reads input data (csv, tsv, parquet, and sql), converts the data to data graph, exports the objects to graph, csv file, or pushes to sql database.
  • operator : contains a list of operations what to do to the data.
  • data : implements data operation classes.
  • graph : implements graph classs.

Installation

Execution

  • You need to prepare two files:
  1. task manifest file (such as task.json). Follow an instruction how to but a task graph here: https://github.com/dataxight/protoform/wiki/Execution-Graph-Specification
  2. data manifest file (such as data.json). Follow an instruction how to but a data graph here: https://github.com/dataxight/protoform/wiki/Data-Graph-Specification
  • Run the first command
protoform --task-plan task.json --data-graph data.json

Repository initiated with fpgmaas/cookiecutter-poetry.

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

protoform-0.0.3.tar.gz (40.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

protoform-0.0.3-py3-none-any.whl (72.0 kB view details)

Uploaded Python 3

File details

Details for the file protoform-0.0.3.tar.gz.

File metadata

  • Download URL: protoform-0.0.3.tar.gz
  • Upload date:
  • Size: 40.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for protoform-0.0.3.tar.gz
Algorithm Hash digest
SHA256 b685630392321c794609a4135137cfabebfdf57e8f95c4910cfb35eee794cb0d
MD5 a07abc0fbc3b31e4935e7e0d2ef5805c
BLAKE2b-256 1f7598c7106c77a5f203f84079cbf95ef47dcd4e2d6cae8fdf67fa9d982225cd

See more details on using hashes here.

File details

Details for the file protoform-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: protoform-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 72.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for protoform-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d0f2cda1946f9ea31fa27105d8c77a333a09eedc31d8a836a38fab3475e89988
MD5 247d0997627163e8378b0e385bf93392
BLAKE2b-256 a57584ecf00e12b213ca22dff3b9800d920c487e3c14ac90757c8c6024e06164

See more details on using hashes here.

Supported by

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