cubyc

The repository for all your experiments


Keywords
ai, artificial-intelligence, data-science, dataops, experiment-tracking, experimental-design, experimentation, git, machine-learning, mlops, python, reproducibility, sql
License
LGPL-3.0
Install
pip install cubyc==0.0.1

Documentation

PyPI - Python Version PyPI Status PyPI - Downloads license

cubyc

The repository for all your experiments


QuickstartDocumentationContributingLicenseContact

Cubyc is an open-source experiment tracking library for data scientists. With Cubyc, you can easily track, version, and analyze your experiments using Git and SQL, all without ever leaving your Python environment.

Quickstart

Install Cubyc:

pip install cubyc

Initialize a new project in your current directory:

cubyc init

Start tracking your experiments:

import numpy as np
from cubyc import Run

@Run(tags=["linear_algebra"])
def matrix_multiplication(n_size: int):
    A = np.random.rand(n_size, n_size)
    B = np.random.rand(n_size, n_size)

    _ = np.dot(A, B)

for n_size in [10, 20, 40, 80, 160, 320, 640]:
    matrix_multiplication(n_size=n_size)

Analyze your runs with SQL:

from cubyc import query

statement = """
                SELECT config.n_size, metadata.runtime
                FROM config
                INNER JOIN metadata ON config.id = metadata.id
                ORDER BY metadata.runtime ASC
            """
            
print(query(statement=statement))

Output:

>>>    n_size   runtime
... 0      10  0.012209
... 1      20  1.455673
... 2      40  2.768197
... 3      80  4.073367
... 4     160  5.336599
... 5     320  6.663631
... 6     640  8.028414

Documentation

For more information and examples on how to use Cubyc, please refer to our documentation.

Contributing

We welcome contributions from the community! If you'd like to contribute to Cubyc, please read our contributing guidelines and code of conduct.

License

Cubyc is released under the LGPL-3.0 License.

Contact

If you have any questions, feedback, or suggestions, please feel free to open an issue or join our community.