A monorepo for centralizing, managing, and deploying data science and research projects at ASCII, with integrated support for Python, R, and containerized pipelines.
Project description
ASCII Research space
A single monorepo to store all our research. Every person has a folder
development infrastructure (local setup)
- a computer with internet access to install python packages
- an installed pixi https://pixi.sh/latest/ for your operating system
- ensure the
pixicommand is in your path and working correctly
- ensure the
- an installation of
makecommand in your path - git
- docker
- an SSH key readily set up to connect to github
- permissions to view this (https://github.com/ascii-supply-networks/research-space) repository
- available infrastructure
- server
- openAI API key
git clone git@github.com:ascii-supply-networks/research-space.git
cd research-space
# Activate environment. If the environment is not installed it will be installed automaticially.
# Default env:
pixi shell -e research-cpu
# If you need gpu acceleration use:
pixi shell -e research-cuda
# For the pipeline:
pixi run create_environment_pipeline
# To start a jupyter notebook session
make notebook
# Set up pre-commit hook for automatic formatting. Execute this in reasearch-space
pixi global install pre-commit
export PATH="$HOME/.pixi/bin:$PATH" # If you are on the server execute this and reload terminal
pre-commit install
notes
adding new reference data
Ensure to set DEV_REFERENCE_DATA_OVERRIDE to the location where the reference data repository is checked out.
Ideally, you download the reference data from https://github.com/ascii-supply-networks/reference-data relative to/next to the research space; however, only by setting a softlink to make it appear there.
using R
-
talk to georg
- enable renv
- integrate Rstudio
-
in a shell:
conda activate ascii_rs -
then start an
Rshell by typingRin the command line window- then inside R execute:
renv::restore() - instally any additionally required packages
- use them in your scripts. Only the used ones are recorded
- commit these to version control by
renv::snapshot()and then commiting the renv
- then inside R execute:
-
when you use the commandline you can use the new environment straight away
updating the main deployment
Ensure the quality is high by testing the code beforehand.
Execute the following linting and testing procedures and fix any issues:
make fmt
make lint
make test
make fmt-sql
make lint-sql
prepare secrets. Decrypt the secrets - you must have a valid key file to perform this step
make secrets-decrypt
Ensure ROOT_DOMAIN is pointing to the right setting.
Test one more time with the containerized pipeline:
make start-pipeline-staging
Run and build the containers and expose via proxy:
make start-pipeline-production
Open the URL to see the dashboard: https://orchestration.ascii.ac.at/
WARNING a click will trigger the pipeline - some pipelines (for commoncrawl) cost 1k€/execution - know what you do.
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 ascii_library-0.1.dev419.tar.gz.
File metadata
- Download URL: ascii_library-0.1.dev419.tar.gz
- Upload date:
- Size: 88.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2b790ff15a396cd2005c1b1d58ef550f1e09f02afcaed1d9fe6a828c27fdd19
|
|
| MD5 |
faa05a0cd54ec7fbb3f18b23d27e71aa
|
|
| BLAKE2b-256 |
de3ea3ea0f2de7c49c4e9c4478aaf9becb00be70c44c0faca8fdb36f11693165
|
Provenance
The following attestation bundles were made for ascii_library-0.1.dev419.tar.gz:
Publisher:
03_sync.yml on ascii-supply-networks/research-space
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ascii_library-0.1.dev419.tar.gz -
Subject digest:
b2b790ff15a396cd2005c1b1d58ef550f1e09f02afcaed1d9fe6a828c27fdd19 - Sigstore transparency entry: 597812816
- Sigstore integration time:
-
Permalink:
ascii-supply-networks/research-space@5a69f0bf66f772e97e60fc0ffe32186172479791 -
Branch / Tag:
refs/heads/bug/fix-sync - Owner: https://github.com/ascii-supply-networks
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
03_sync.yml@5a69f0bf66f772e97e60fc0ffe32186172479791 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ascii_library-0.1.dev419-py3-none-any.whl.
File metadata
- Download URL: ascii_library-0.1.dev419-py3-none-any.whl
- Upload date:
- Size: 80.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3a11257179d7859a43e55c2c49ef70f7e7497e78690aa73227f96fd10f01781
|
|
| MD5 |
74fc4ddc8e7de86d4ae0468aef7e1f92
|
|
| BLAKE2b-256 |
65ce5a89b7140516d70ca80de77edd83a9d31f1483e0cd25baef7b5f0805fe0d
|
Provenance
The following attestation bundles were made for ascii_library-0.1.dev419-py3-none-any.whl:
Publisher:
03_sync.yml on ascii-supply-networks/research-space
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ascii_library-0.1.dev419-py3-none-any.whl -
Subject digest:
f3a11257179d7859a43e55c2c49ef70f7e7497e78690aa73227f96fd10f01781 - Sigstore transparency entry: 597812823
- Sigstore integration time:
-
Permalink:
ascii-supply-networks/research-space@5a69f0bf66f772e97e60fc0ffe32186172479791 -
Branch / Tag:
refs/heads/bug/fix-sync - Owner: https://github.com/ascii-supply-networks
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
03_sync.yml@5a69f0bf66f772e97e60fc0ffe32186172479791 -
Trigger Event:
push
-
Statement type: