Core tools for use on projects by Oreum Industries
Project description
Oreum Core Tools oreum_core
1. Description and Scope
This is an ever-growing package of core tools for use on client projects by Oreum Industries.
- Provides an essential workflow for data curation, EDA, basic ML using the core
scientific Python stack incl.
numpy,scipy,matplotlib,seaborn,pandas,scikit-learn,umap-learn - Optionally provides an advanced Bayesian modelling workflow in R&D and
Production using a leading probabilistic programming stack incl.
pymc,pytensor,arviz(dopip install oreum_core[pymc]) - Optionally enables a generalist black-box ML workflow in R&D using a leading
Gradient Boosted Trees stack incl.
catboost,xgboost,optuna,shap(dopip install oreum_core[tree]) - Also includes seevral utilities for text cleaning, sql scripting, file handling
This package is:
- A work in progress (v0.y.z) and liable to breaking changes and inconvenience to the user
- Solely designed for ease of use and rapid development by employees of Oreum Industries, and selected clients with guidance
This package is not:
- Intended for public usage and will not be supported for public usage
- Intended for contributions by anyone not an employee of Oreum Industries, and unsolicitied contributions will not be accepted.
Notes
- Project began on 2021-01-01
- The
README.mdis MacOS and POSIX oriented - See
LICENCE.mdfor licensing and copyright details - See
CONTRIBUTORS.mdfor list of contributors - This uses a logger named
'oreum_core', feel free to incorporate or ignore - Hosting:
2. Instructions to Create Dev Environment
For local development on MacOS
2.0 Pre-requisite installs via homebrew
- Install Homebrew, see instuctions at https://brew.sh
- Install
direnv,git,git-lfs,graphviz
$> brew update && upgrade
$> brew install direnv git git-lfs graphviz
2.1 Git clone the repo
Assumes git, git-lfs and direnv installed as above
$> git clone https://github.com/oreum-industries/oreum_core
$> cd oreum_core
Then allow direnv on MacOS to automatically run file .envrc upon directory open
2.2 Create virtual environment and install dev packages
Notes:
- We use
condavirtual envs controlled bymamba(quicker thanconda) - We install packages using
miniforge(sourced from theconda-forgerepo) wherever possible and only usepipfor packages that are handled better bypipand/or more up-to-date on pypi - Packages might not be the very latest because we want stability for
pymcwhich is usually in a state of development flux - See cheat sheet of conda commands
- The
Makefilecreates a dev env and will also download and preinstallminiforgeif not yet installed on your system
2.2.1 Create the dev environment
From the dir above oreum_core/ project dir:
$> make -C oreum_core/ dev
This will also create some files to help confirm / diagnose successful installation:
dev/install_log/blas_info.txtfor theBLAS MKLinstallation fornumpydev/install_log/pipdeptree[_rev].txtlists installed package deps (and reversed)LICENSES_THIRD_PARTY.mddetails the license for each package used
2.2.2 (Optional best practice) Test successful installation of dev environment
From the dir above oreum_core/ project dir:
$> make -C oreum_core/ test-dev-env
This will also add files dev/install_log/[numpy|scipy].txt which detail
successful installation (or not) for numpy, scipy
2.2.3 (Useful during env install experimentation): To remove the dev environment
From the dir above oreum_core/ project dir:
$> make -C oreum_core/ uninstall
2.3 Code Linting & Repo Control
2.3.1 Pre-commit
We use pre-commit to run a suite of automated tests for code linting & quality control and repo control prior to commit on local development machines.
- Precommit is already installed by the
make devcommand (which itself callspip install -e .[dev]) - The pre-commit script will then run on your system upon
git commit - See this project's
.pre-commit-config.yamlfor details
2.3.2 Github Actions
We use Github Actions aka Github Workflows to run:
- A suite of automated tests for commits received at the origin (i.e. GitHub)
- Publishing to PyPi upon creating a GH Release
- See
Makefilefor the CLI commands that are issued - See
.github/workflows/*for workflow details
Copyright 2023 Oreum OÜ t/a Oreum Industries. All rights reserved. See LICENSE.md.
Oreum OÜ t/a Oreum Industries, Sepapaja 6, Tallinn, 15551, Estonia, reg.16122291, oreum.io
Oreum OÜ © 2023
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oreum_core-0.6.6.tar.gz.
File metadata
- Download URL: oreum_core-0.6.6.tar.gz
- Upload date:
- Size: 80.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d605b026b5131acdea5d9344d5b9f46f904eafa09ef9a0c42be0a205ccea59db
|
|
| MD5 |
ba5c6b871c0e58c6919346ba5f1f489b
|
|
| BLAKE2b-256 |
2cbb3f01a38496ab98d0054ead71e3d43c600154b2a5395de8741b32019ae71a
|
File details
Details for the file oreum_core-0.6.6-py3-none-any.whl.
File metadata
- Download URL: oreum_core-0.6.6-py3-none-any.whl
- Upload date:
- Size: 81.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abc671bea6dfdcfd12ae84cd5bd4f6a9f76ee0233dfdcdcc73d6b4ed4601d1ff
|
|
| MD5 |
f132b9bebd96ef0e8cb98329aa45bf4a
|
|
| BLAKE2b-256 |
3e5b82f4784e72ce5e77658a0cb847e77751bf33aa2b4584b540733f8c041d58
|