Skip to main content

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.

Metadata

Release files for protoform 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for protoform 0.0.3
File Size Uploaded
protoform-0.0.3.tar.gz 40.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for protoform 0.0.3
File Interpreter ABI Platform
protoform-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 112.8 kB

Release files / protoform-0.0.3.tar.gz

Download URL protoform-0.0.3.tar.gz
Size 40.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b685630392321c794609a4135137cfabebfdf57e8f95c4910cfb35eee794cb0d
BLAKE2b-256 checksum
How to use checksums
1f7598c7106c77a5f203f84079cbf95ef47dcd4e2d6cae8fdf67fa9d982225cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / protoform-0.0.3-py3-none-any.whl

Download URL protoform-0.0.3-py3-none-any.whl
Size 72.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d0f2cda1946f9ea31fa27105d8c77a333a09eedc31d8a836a38fab3475e89988
BLAKE2b-256 checksum
How to use checksums
a57584ecf00e12b213ca22dff3b9800d920c487e3c14ac90757c8c6024e06164
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page