Skip to main content

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).

Release files for d3m-common-primitives 2022.5.26

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

Source distribution (sdist)

Source distribution for d3m-common-primitives 2022.5.26
File Size Uploaded
d3m-common-primitives-2022.5.26.tar.gz 129.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for d3m-common-primitives 2022.5.26
File Interpreter ABI Platform
d3m_common_primitives-2022.5.26-py3-none-any.whl Python 3 none any Details

Total release size: 319.6 kB

Release files / d3m-common-primitives-2022.5.26.tar.gz

Download URL d3m-common-primitives-2022.5.26.tar.gz
Size 129.3 kB
Tags Source
SHA-256 checksum
How to use checksums
514f5c114f268ab8cec2b2474a5c42eeeee499781847efe9d127627a2dfb9c32
BLAKE2b-256 checksum
How to use checksums
1f8aad9d75e5e78ff26d52ccdcc5c979077f0fd384197f076a2fcb9848f608e4
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / d3m_common_primitives-2022.5.26-py3-none-any.whl

Download URL d3m_common_primitives-2022.5.26-py3-none-any.whl
Size 190.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a3dfc63dfc115a23833e02e00e8d79df23a9876de8f02d84b3e7f0a7e4bcafb6
BLAKE2b-256 checksum
How to use checksums
02ce3b09b7c742791323ab8ed8f3f22d29a3876b451658217f654edaee715fb0
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

2022.5.26 This release

2 release files

0.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