Skip to main content

Build Status Coverage Status PyPI-Server

pyscaffoldext-dsproject-vscode

This extension is forked from the awesome PyScaffold DSProject extension.

This version of the extension extends the functionality by adding a scaffold component for using the VS Code container development integration.

To benefit from this setup, you must use VS Code with Python and Remote - Containers extensions installed. Docker should also be installed on the host machine.

Usage

Just install this package with pip install pyscaffoldext-dsproject-vscode and note that putup -h shows a new option --dsproject-vscode. Creating a data science project with VS Code container development integration is then as easy as:

putup --dsproject-vscode my_ds_project

After the project is created, set the following softlinks from the project root:

ln -s path.env .env

If you want to develop locally, create this softlink:

ln -s .devcontainer/devcontainer.local.json .devcontainer/devcontainer.json

Alternatively, if you want to develop using a remote docker server, use this:

ln -s .devcontainer/devcontainer.remote.json .devcontainer/devcontainer.json

If you have an application that will run inside the dev container that requires a port, specify the list of ports under the forwardPorts attribute in the following files:

.devcontainer/devcontainer.local.json
.devcontainer/devcontainer.remote.json

Remote docker server

To use a remote docker server, specify the docker.host attribute in the .vscode/settings.json following the template in the file.

Edit the value of the REMOTE_PATH attribute in the .env file with the absolute path of the project in the remote server.


pyscaffoldext-dsproject

PyScaffold extension tailored for Data Science projects. This extension is inspired by cookiecutter-data-science and enhanced in many ways. The main differences are that it

  1. advocates a proper Python package structure that can be shipped and distributed,
  2. uses a conda environment instead of something virtualenv-based and is thus more suitable for data science projects,
  3. more default configurations for Sphinx, py.test, pre-commit, etc. to foster clean coding and best practices.

Also consider using dvc to version control and share your data within your team. Read this blogpost to learn how to work with JupyterLab notebooks efficiently by using a data science project structure like this.

The final directory structure looks like:

├── AUTHORS.rst             <- List of developers and maintainers.
├── CHANGELOG.rst           <- Changelog to keep track of new features and fixes.
├── LICENSE.txt             <- License as chosen on the command-line.
├── README.md               <- The top-level README for developers.
├── configs                 <- Directory for configurations of model & application.
├── data
│   ├── external            <- Data from third party sources.
│   ├── interim             <- Intermediate data that has been transformed.
│   ├── processed           <- The final, canonical data sets for modeling.
│   └── raw                 <- The original, immutable data dump.
├── docs                    <- Directory for Sphinx documentation in rst or md.
├── environment.yaml        <- The conda environment file for reproducibility.
├── models                  <- Trained and serialized models, model predictions,
│                              or model summaries.
├── notebooks               <- Jupyter notebooks. Naming convention is a number (for
│                              ordering), the creator's initials and a description,
│                              e.g. `1.0-fw-initial-data-exploration`.
├── references              <- Data dictionaries, manuals, and all other materials.
├── reports                 <- Generated analysis as HTML, PDF, LaTeX, etc.
│   └── figures             <- Generated plots and figures for reports.
├── scripts                 <- Analysis and production scripts which import the
│                              actual PYTHON_PKG, e.g. train_model.
├── setup.cfg               <- Declarative configuration of your project.
├── setup.py                <- Use `python setup.py develop` to install for development or
|                              or create a distribution with `python setup.py bdist_wheel`.
├── src
│   └── PYTHON_PKG          <- Actual Python package where the main functionality goes.
├── tests                   <- Unit tests which can be run with `py.test`.
├── .coveragerc             <- Configuration for coverage reports of unit tests.
├── .isort.cfg              <- Configuration for git hook that sorts imports.
└── .pre-commit-config.yaml <- Configuration of pre-commit git hooks.

See a demonstration of the initial project structure under dsproject-demo and also check out the the documentation of PyScaffold for more information.

Usage

Just install this package with pip install pyscaffoldext-dsproject and note that putup -h shows a new option --dsproject. Creating a data science project is then as easy as:

putup --dsproject my_ds_project

Note

This project has been set up using PyScaffold 3.2. For details and usage information on PyScaffold see https://pyscaffold.org/.

Metadata

Release files for pyscaffoldext-dsproject-vscode 0.1.4

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

Source distribution (sdist)

Source distribution for pyscaffoldext-dsproject-vscode 0.1.4
File Size Uploaded
pyscaffoldext-dsproject-vscode-0.1.4.tar.gz 27.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyscaffoldext-dsproject-vscode 0.1.4
File Interpreter ABI Platform
pyscaffoldext_dsproject_vscode-0.1.4-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 48.7 kB

Release files / pyscaffoldext-dsproject-vscode-0.1.4.tar.gz

Download URL pyscaffoldext-dsproject-vscode-0.1.4.tar.gz
Size 27.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a4d1bf54dd52ec4cbadfac5e2ebb94d016ef20744cc15f1ed6b7d0563fdcb978
BLAKE2b-256 checksum
How to use checksums
5b8e4a18a32447345fdaf74849e33e0a512ecee1f2b7f503c874d69146da683e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.3.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.4

Release files / pyscaffoldext_dsproject_vscode-0.1.4-py2.py3-none-any.whl

Download URL pyscaffoldext_dsproject_vscode-0.1.4-py2.py3-none-any.whl
Size 20.8 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
d55ba1d4c92be8683af0fe7bb389932de84b518f058a5e38c89b2ad2d9ea520d
BLAKE2b-256 checksum
How to use checksums
26faba00efe88c9ea99d10bc050361ab32541e60fbcb4462b1e0b01e649a36c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.3.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.4

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

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