Skip to main content

D3M common primitives

Project description

Common D3M primitives

A common set of primitives for D3M project, maintained together. It contains example primitives, various glue primitives, and other primitives performers contributed.

Installation

This package works on Python 3.6+ and pip 19+.

This package additional dependencies which are specified in primitives' metadata, but if you are manually installing the package, you have to first run, for Ubuntu:

$ apt-get install libopenblas-dev ffmpeg
$ pip3 install python-prctl

To install common primitives from inside a cloned repository, run:

$ pip3 install -e .

When cloning a repository, clone it recursively to get also git submodules:

$ git clone --recursive https://gitlab.com/datadrivendiscovery/common-primitives.git

Changelog

See HISTORY.md for summary of changes to this package.

Repository structure

master branch contains latest code of common primitives made against the latest stable release of the d3m core package (its master branch). devel branch contains latest code of common primitives made against the future release of the d3m core package (its devel branch).

Releases are tagged but they are not done regularly. Each primitive has its own versions as well, which are not related to package versions. Generally is the best to just use the latest code available in master or devel branches (depending which version of the core package you are using).

Testing locally

For each commit to this repository, tests run automatically in the GitLab CI.

If you don't want to wait for the GitLab CI test results and run the tests locally, you can install and use the GitLab runner in your system.

With the local GitLab runner, you can run the tests defined in the .gitlab-ci.yml file of this repository, such as:

$ gitlab-runner exec docker style_check
$ gitlab-runner exec docker type_check

You can also just try to run tests available under /tests by running:

$ python3 run_tests.py

Contribute

Feel free to contribute more primitives to this repository. The idea is that we build a common set of primitives which can help both as an example, but also to have shared maintenance of some primitives, especially glue primitives.

All primitives are written in Python 3 and are type checked using mypy, so typing annotations are required.

About Data Driven Discovery Program

DARPA Data Driven Discovery (D3M) Program is researching ways to get machines to build machine learning pipelines automatically. It is split into three layers: TA1 (primitives), TA2 (systems which combine primitives automatically into pipelines and executes them), and TA3 (end-users interfaces).

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

d3m-common-primitives-2022.1.5-1.tar.gz (129.1 kB view details)

Uploaded Source

Built Distribution

d3m_common_primitives-2022.1.5-1-py3-none-any.whl (190.0 kB view details)

Uploaded Python 3

File details

Details for the file d3m-common-primitives-2022.1.5-1.tar.gz.

File metadata

  • Download URL: d3m-common-primitives-2022.1.5-1.tar.gz
  • Upload date:
  • Size: 129.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for d3m-common-primitives-2022.1.5-1.tar.gz
Algorithm Hash digest
SHA256 c7fa1573a45377f5fc6fd710f4532c56450f046b14b55ed9e42fd5bc218ce1d7
MD5 9d39cee84db9c4163059217321d049ff
BLAKE2b-256 d6210d2032fa4d3d1301256d870590ee9ba3018b8869c34e2525f07ffe29cc99

See more details on using hashes here.

File details

Details for the file d3m_common_primitives-2022.1.5-1-py3-none-any.whl.

File metadata

  • Download URL: d3m_common_primitives-2022.1.5-1-py3-none-any.whl
  • Upload date:
  • Size: 190.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for d3m_common_primitives-2022.1.5-1-py3-none-any.whl
Algorithm Hash digest
SHA256 fb74d150d58deff8350e5fc309e8ea5952e187497083c476e5ddb45cc88fc105
MD5 af9d7fc2b19b04392192ed375447027c
BLAKE2b-256 7c01ee2a57711762749087f1dec9f34b4fe80ec6afdd272fb58fad24ae957863

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