Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .githooks/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/usr/bin/env bash
# Conventional Commits – rejects commit if first line doesn't match.
# Format: type(scope): description e.g. feat(docs): add install guide

set -e
msg_file="$1"
[[ -f "$msg_file" ]] || exit 1

first_line=$(head -n1 "$msg_file")
# Empty or comment (#) – git handles that
[[ -z "${first_line%%#*}" ]] && exit 0

# Conventional: type(scope)?!?: description
# types: feat fix docs style refactor perf test chore ci build
if ! echo "$first_line" | grep -qE '^(feat|fix|docs|style|refactor|perf|test|chore|ci|build)(\([a-z0-9._-]+\))?!?: .+'; then
echo "Commit rejected: message must follow Conventional Commits."
echo ""
echo "Examples:"
echo " feat(docs): add setup guide"
echo " fix(api): handle null response"
echo " docs: update readme"
echo ""
echo "Types: feat, fix, docs, style, refactor, perf, test, chore, ci, build"
echo "Scope (optional) in parentheses, then ': ' and description."
exit 1
fi

exit 0
37 changes: 37 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: CI

on:
push:
branches: [main]
pull_request:

jobs:
ci:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11", "3.12"]
steps:
- uses: actions/checkout@v4

- uses: astral-sh/setup-uv@v4
with:
enable-cache: true

- name: Install Python
run: uv python install ${{ matrix.python-version }}

- name: Sync dependencies
run: uv sync --all-extras

- name: Ruff check
run: uv run ruff check .

- name: Ruff format
run: uv run ruff format --check .

- name: Mypy
run: uv run mypy src/

- name: Pytest
run: uv run pytest --cov --cov-report=term-missing
20 changes: 13 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
# macOS
.DS_Store
.AppleDouble
.LSOverride
._*

# Visual Studio Code
.vscode/

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[codz]
Expand Down Expand Up @@ -181,13 +190,6 @@ cython_debug/
# Learn more at https://abstra.io/docs
.abstra/

# Visual Studio Code
# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
# and can be added to the global gitignore or merged into this file. However, if you prefer,
# you could uncomment the following to ignore the entire vscode folder
# .vscode/

# Ruff stuff:
.ruff_cache/

Expand All @@ -200,6 +202,10 @@ cython_debug/
# refer to https://docs.cursor.com/context/ignore-files
.cursorignore
.cursorindexingignore
# Local LLM context and personal Cursor rules (not committed)
.context/
.cursorrules
.cursor/rules/

# Marimo
marimo/_static/
Expand Down
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.0.1.dev0] - 2026-05-03

### Added

- Initial package layout (`src/bigos`), tooling (Ruff, Mypy, Pytest, Coverage), and GitHub Actions CI.
16 changes: 15 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,15 @@
# bigos
# bigos

High-level data ingestion library for RAG pipelines.

## Status

Early PoC — APIs unstable.

## Quickstart

```bash
uv sync && uv run pytest
```

[![CI](https://github.com/OWNER/REPO/actions/workflows/ci.yml/badge.svg)](https://github.com/OWNER/REPO/actions/workflows/ci.yml)
47 changes: 47 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "bigos"
version = "0.0.1.dev0"
description = "High-level data ingestion library for RAG pipelines"
readme = "README.md"
requires-python = ">=3.11"
license = "Apache-2.0"
dependencies = []

[dependency-groups]
dev = [
"pytest>=8.0",
"pytest-asyncio>=0.24",
"pytest-cov>=5.0",
"ruff>=0.8",
"mypy>=1.13",
"hypothesis>=6.0",
]

[tool.hatch.build.targets.wheel]
packages = ["src/bigos"]

[tool.ruff]
line-length = 100
target-version = "py311"

[tool.ruff.lint]
select = ["E", "F", "I", "N", "UP", "B", "A", "C4", "SIM", "RUF"]

[tool.ruff.lint.per-file-ignores]
"tests/**/*.py" = ["S101"]

[tool.mypy]
strict = true
python_version = "3.11"
files = ["src/bigos"]

[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]

[tool.coverage.run]
source = ["src/bigos"]
3 changes: 3 additions & 0 deletions src/bigos/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
__version__ = "0.0.1.dev0"

__all__ = ["__version__"]
Empty file added tests/__init__.py
Empty file.
4 changes: 4 additions & 0 deletions tests/test_smoke.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
def test_import():
import bigos

assert bigos.__version__ == "0.0.1.dev0"
476 changes: 476 additions & 0 deletions uv.lock

Large diffs are not rendered by default.

Loading