Metadata-Version: 2.4
Name: pycontrol-init
Version: 0.1.0a0
Summary: uvx bootstrapper for creating pyControl workspaces.
Project-URL: Homepage, https://github.com/karpova-lab/pycontrol-init
Author: pyControl contributors
License: GPL-3.0-or-later
License-File: LICENSE
Keywords: behaviour,neuroscience,pycontrol,uv
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.11
Description-Content-Type: text/markdown

# pycontrol-init

`pycontrol-init` is a small `uvx` bootstrapper for creating uv-backed
pyControl workspaces.

Install `uv`, then create and launch a workspace:

```bash
uvx --python 3.11 --prerelease allow pycontrol-init my-workspace --launch
```

To initialize the current directory instead:

```bash
uvx --python 3.11 --prerelease allow pycontrol-init . --launch
```

The command creates the target directory when needed, initializes a uv project,
adds `pycontrol-gui`, scaffolds the standard workspace layout, and optionally
launches the GUI.

## Usage

```bash
pycontrol-init [path] [--launch] [--force]
```

`path` defaults to the current directory. Relative paths are resolved from the
directory where the command is run.

Examples:

```bash
pycontrol-init
pycontrol-init .
pycontrol-init my-workspace --launch
pycontrol-init ~/pycontrol-workspaces/ws1 --with-slack
```

Optional integration helpers can be installed into the workspace:

```bash
pycontrol-init my-workspace --with-slack
pycontrol-init my-workspace --with-notion
pycontrol-init my-workspace --with-s3
pycontrol-init my-workspace --with-integrations
```

For release smoke tests, package indexes can be overridden:

```bash
pycontrol-init test-workspace \
  --index-url https://test.pypi.org/simple/ \
  --extra-index-url https://pypi.org/simple/
```

## Development

```bash
uv sync --group dev
uv run pytest
uv run ruff check src tests
```
