Skip to main content

Projit

Project Integrator for Decoupled Data Science

Status: Beta Functional.

License: MIT Tests Documentation Status PyPI

Projit is a utility to help data scientists manage projects that contain multiple experiments and components that need to interact in a de-coupled manner. Use it to define and manage project structure, properties, data, experiments & collaboration.

The goal of this project is to allow data scientists and teams to work on projects in a structured and standardized way. The projit utility allows you to establish a project with a centralised meta-data repository. This meta-data is used by the application and package to facilitate loosely coupled communication between scripts for experiments, to track results and parameters.

For example, projit provides a python library that can be used inside experiments and scripts so references to training, evaluation and test data sets can accessed without passing around and maintaing paths.

In addition the project can be initialised according to a standardized layout so that the diectory structure is familiar to all team members.

This project was inspired by a combination of other projects:

Released and distributed via setuptools/PyPI/pip for Python 3.

Additional details and usage instructions available in the documentation

Notes

Initial implementation is focused allowing the user to initialise a project, and then modify it using a python package that can be called independently in scripts across the project structure. This creates a central authority for updating and retrieving info about data sets and experimental results.

Usage

You can use this application in multiple ways

Use the runner:

./projit-runner.py init "Test Project"

Invoke the directory as a package:

python -m projit init "Test Project"

Or simply install the package and use the command line application directly as shown in the process below:

Installation

Installation from the source tree:

git clone https://github.com/john-hawkins/projit
cd projit
python setup.py install

(or via pip from PyPI):

pip install projit

Now, the projit command is available:

projit init "Test Project"

This will initialise the current directory as a Data Science Project using the default template. Please refer to the documentation for more detail on projit commands.

Output

By adding experiments and results to a projit project you can examine them. Example output in the table below:

Results on [test]

experiment MAE MAPE
mytest 11230.46 13.46
mytest2 nan 15.86

Acknowledgements

Python package built using the bootstrap cmdline template by jgehrcke

Release files for projit 0.1.13

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

Source distribution (sdist)

Source distribution for projit 0.1.13
File Size Uploaded
projit-0.1.13.tar.gz 18.9 kB Details

Release files / projit-0.1.13.tar.gz

Download URL projit-0.1.13.tar.gz
Size 18.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0a04edd90e5f50e3e4446984eb7b97f77f742748af24b17c68d57b96c7b286ed
BLAKE2b-256 checksum
How to use checksums
270f23b90b212d770e9b49c1897e72bb9e46fada25b6b70d9cf42731a1b6fc01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.8

Release history Release notifications | RSS feed

This release

0.1.13 This release

1 release file

0.1.12

1 release file

0.1.11

1 release file

0.1.10

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

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