Skip to main content

No project description provided

Project description

docs/source/images/bluprint_logo.png

Bluprint

Bluprint is a command line utility for streamlined exploratory data science projects. Bluprint allows seamless access to configuration, data and shared code in this type of project structure created by bluprint create my_project:

my_project
├── conf
│   └── data.yaml
├── data
│   ├── emailed
│   │   └── messy.xlsx
│   └── user_processed.csv
├── notebooks
│   └── process.ipynb
└── my_project
    └── shared_code.py

Storing paths relative to the my_project directory in conf/data.yaml:

emailed:
    messy: 'emailed/messy.xlsx'
user:
    processed: 'user_processed.csv'

allows you access them in a Python script or Jupyter notebook anywhere within the project:

from bluprint_conf import load_data_yaml

data = load_data_yaml() # By default loads conf/data.yaml
print(data)
#> {
#>   'emailed': {
#>     'messy': '/path/to/my_project/data/emailed/messy.xlsx'
#>   },
#>   'user': {
#>     'processed': '/path/to/my_project/data/user_processed.csv'
#>   },
#>   'remote': {
#>     'extras': 's3://path/to/extra_data.csv'
#>   },
#> }

# Load data in a portable manner
import pandas as pd
messy_df = pd.read_xlsx(data.emailed.messy)
extras_df = pd.read_xlsx(data.remote.extras)

# Load shared code functions as Python modules
from my_project.shared_code import transform_data
transformed_df = transform_data(messy_df, extras_df)

# Save output
transformed_df.to_csv(data.user.processed)

Features

  • Write portable notebooks by loading configs with load_data_yaml() and load_config_yaml()

  • R/Python packages automatically version-locked using renv and PDM

  • Import shared code as Python modules

  • Install shared code across projects with pip install

  • Use both Python and R notebooks in a single project (see Python/R projects)

  • Share projects by copying a project directory and running pdm install

  • Works with common IDEs (RStudio, VSCode), notebook tools for linting (nbqa), notebook version control (nbstripout) or workflows (Ploomber)

Documentation

Full documentation available at: https://igor-sb.github.io/bluprint/.

Installation

Install pipx and PDM. Then run:

pipx install bluprint

References

Bluprint integrates:

Bluprint is heavily inspired by these resources:

License

Bluprint is released under MIT license.

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

bluprint-0.1.5.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

bluprint-0.1.5-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file bluprint-0.1.5.tar.gz.

File metadata

  • Download URL: bluprint-0.1.5.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.11.1 CPython/3.11.4

File hashes

Hashes for bluprint-0.1.5.tar.gz
Algorithm Hash digest
SHA256 8960975b21de3cc162c73ae73d98d9e7c31f25a0a02174426155c2073749b063
MD5 6ab08bf642839319f3e677849ac4568f
BLAKE2b-256 0a4207bbf0ebd6ce6465da3dfbf18c67078b470ce2779730a0370d5a2636cf1e

See more details on using hashes here.

File details

Details for the file bluprint-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: bluprint-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.11.1 CPython/3.11.4

File hashes

Hashes for bluprint-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f11402ca4df71047226bb74b9ac851b8688708e6d75668b7047c1e00043f10f6
MD5 fab7a3697fb21db35a8984afa35965f5
BLAKE2b-256 ffe2acab93a6199fc7563bd5942dab54ea9d5c9b9bc7545eb23768c465568820

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