Skip to content

Commandline options

CCDS provides a number of choices that you can use to customize your project. The defaults work well for many projects, but lots of tooling choices are supported. Here are the options for tools that you can use:

Project Name

Type: string

Default value: project_name

A name for the project, for example 'My Project'.

Repo Name

Type: string

Default value: project_name.lower().replace(' ', '_')

Default generated by altering the project_name. Used for folder and repo name for the project.

Module Name

Type: string

Default value: project_name.lower().replace(' ', '_').replace('-', '_')

Default generated by altering the project_name to be a compatible Python module name.

Author Name

Type: string

Default value: Your name (or your organization/company/team)

Name of the individual or organization that created the project.

Description

Type: string

Default value: A short description of the project.

A short description that appears in the README.md file by default.

Python Version Number

Type: string

Default value: 3.12

The version of Python that the project will use.

Find more information here: Python version status

Dataset Storage

Type: choice

Default value: none

A cloud storage location for where data should be stored; controls sync_data_up and sync_data_down Makefile commands. You will be asked for different additional configuration information depending on your choice.

Choice Sub-field Description More information
none No cloud storage configured; Makefile commands to sync data removed.
azure Store data on Azure Blob Storage. Docs
azure container Name of the container on blob storage. Docs
s3 Store data on Amazon S3. Docs
s3 bucket The name of the bucket to store data in; can also be a longer S3 path. Docs
s3 aws_profile The name of the profile to use for the aws CLI. Docs
gcs Store data to Google Cloud Storage Docs
gcs bucket The name of the bucket to store data in. Docs

Environment Manager

Type: choice

Default value: uv

Tool for managing creating Python environments. Controls make create_environment Makefile command.

Find more information here: About virtual environments

Choice Sub-field Description More information
uv Modern, fast Python package installer and resolver written in Rust. Docs
none Do not add create_environment commands; env management left to the user.
virtualenv Simple wrapper on venv with more features. Docs
conda Data science environments supporting non-Python dependencies as well. Docs
pipenv Manages dependencies and virual environments. Docs

Dependency File

Type: choice

Default value: requirements.txt

Where to track project-specific dependencies; often paired with specific environment manager.

Choice Sub-field Description More information
requirements.txt Most general, least feature-rich format for use with pip. pip docs
environment.yml Format used by conda. Docs
Pipfile Format used by Pipenv Docs

Pydata Packages

Type: choice

Default value: basic

Packages automatically added to your requirements file.

Choice Sub-field Description More information
basic Basic common data science packages. ipython, jupyterlab, matplotlib, notebook, numpy, pandas, scikit-learn
none No extra packages.

Open Source License

Type: choice

Default value: No license file

Whether to include a license file and which one to use.

Choice Sub-field Description More information
No license file No license file will be included.
MIT MIT License License
BSD-3-Clause 3-Clause BSD License License

Docs

Type: choice

Default value: mkdocs

Whether to include a docs folder and documentation tools.

Choice Sub-field Description More information
mkdocs Include docs folder and mkdocs tools. Docs
none No docs folder.

Include Code Scaffold

Type: choice

Default value: data

Whether to include some basic boilerplate code in the Python module.

Choice Sub-field Description More information
data Data processing/analysis structure Includes pipelines/, analysis/, validation/ directories for data workflows
No No scaffolding - just basic project structure Creates minimal project structure with only essential files
paper Research paper with code structure Includes notebooks/, paper/, src/ directories with LaTeX setup and research code organization
app Application structure (web, CLI, or GUI) Sets up src/, api/, cli/ directories with application entrypoints and deployment configs
ml Machine learning project structure Creates models/, training/, evaluation/ directories with ML pipeline setup
lib Library/package structure Basic package structure with examples and API documentation setup
course Library/package structure Basic package structure with examples and API documentation setup

Version Control

Type: choice

Default value: git (local)

What kind of version control system (vcs) and repository host to use.

Choice Sub-field Description More information
git (local) Initialize project as a local git repository. Git CLI Required
none No version control.
git (github private) Initialize project and upload to GitHub as a private repo. Git CLI + GitHub CLI & Auth Required
git (github public) Initialize project and upload to GitHub as a public repo. Git CLI + GitHub CLI & Auth Required