semvec/pypi-packages huggingface dataset:
doogat-core 0.3.0
Core domain library for the Doogat zettelkasten system
Requires Python: <4.0,>=3.12

# doogat-core

Core domain library for the Doogat zettelkasten system. Provides entities, use cases, value objects, and infrastructure for zettel management.

## Install

```bash
pip install doogat-core
```

## Features

- **Entities** - Zettel, Project with consistency and migration services
- **Use cases** - PrintZettel, ReadDoogat
- **Value objects** - ZettelData
- **Infrastructure** - Markdown formatting and file-based persistence

## Development

```bash
uv sync --all-groups                        # install deps
pre-commit install --hook-type pre-commit --hook-type post-commit  # setup hooks
uv run pytest                               # run tests
```

## Release

Releases via GitHub Actions (manual trigger):

1. Go to Actions → Release workflow → Run workflow
2. Choose `prerelease` (test.pypi only) or `release` (both pypis + GitHub release)

Version determined from conventional commits (`feat:` → minor, `fix:` → patch).

```bash
uv run semantic-release version --print --noop  # preview next version
```

See [dev/docs/versioning.md](dev/docs/versioning.md) for details.

## License

GPL-3.0
idf-ci 1.0.0b4
The python library for CI/CD of ESP-IDF projects
Requires Python: >=3.7

# idf-ci

[![Documentation Status](https://readthedocs.com/projects/espressif-idf-ci/badge/?version=latest)](https://espressif-idf-ci.readthedocs-hosted.com/en/latest/)
![Python 3.7+](https://img.shields.io/pypi/pyversions/idf-ci)

A tool designed to streamline the CI/CD of ESP-IDF projects, with support for both GitLab CI/CD and GitHub Actions.

## Installation

```bash
pip install -U idf-ci
```

## Key Features

- **Sensible Defaults**

  Easy setup with default settings for [idf-build-apps](https://github.com/espressif/idf-build-apps) and [pytest-embedded](https://github.com/espressif/pytest-embedded)

- **Build Management**

  Build ESP-IDF apps for multiple targets (ESP32, ESP32-S2, ESP32-C3, etc.) with parallel builds and smart filtering based on changed files or test needs.

- **Test Management**

  Run `pytest` with ESP-IDF configs, including target-specific test discovery and marker filtering.

- **GitLab CI/CD Integration**

  Full pipeline support with artifacts, S3 uploads, and auto-generated jobs for builds and tests.

- **GitHub Actions Integration**

  Generate test matrix from project settings.

## Basic Usage

### Initialize Configuration Files

```bash
# Create .idf_ci.toml with default idf-ci settings
idf-ci init

# Create .idf_build_apps.toml with default build settings
idf-ci build init

# Create pytest.ini with default test settings
idf-ci test init
```

### Build Apps

```bash
# Build all apps
idf-ci build run

# Build apps for specific target
idf-ci build run -t esp32

# Build only test-related apps
idf-ci build run --only-test-related

# Preview what would be built (dry run)
idf-ci build run --dry-run
```

### Run Tests

We implement a pytest plugin to run tests with sensible defaults with another plugin [pytest-embedded](https://github.com/espressif/pytest-embedded)

```bash
# Only collect tests that would run
pytest --collect-only

# Run tests with target esp32
pytest --target esp32
```

## Documentation

For detailed usage and configuration options, please refer to the [documentation](https://espressif-idf-ci.readthedocs-hosted.com/en/latest/).