Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
e1e1aaa
refactor: Remove `RecordSet.select`
ericpan64 Jul 7, 2025
e102fdf
refactor: Rename `RecordSet` -> `DictGroup`
ericpan64 Jul 7, 2025
a533358
refactor: Use `into_py_any` and remove PyO3 warnings
ericpan64 Jul 7, 2025
bc6d92d
refactor: Simplify \`Piper\` and \`DataMapping\` classes
ericpan64 Jul 7, 2025
3d04f38
refactor: Streamline partial functions
ericpan64 Jul 7, 2025
7c54533
refactor: Improve Lexicon API with tuple support and builder pattern
ericpan64 Jul 7, 2025
4a4fa4b
refactor: Move `put` handling to Rust layer (chidian-core)
ericpan64 Jul 8, 2025
708e2fe
refactor: Remove env variable option, just use Rust
ericpan64 Jul 8, 2025
6eabd8a
feat: Implement core objects in Rust
ericpan64 Jul 8, 2025
94d62d1
fix: Remove unnecessary dual implementations, default to Rust code
ericpan64 Jul 8, 2025
9b64ebd
docs: Update README with new \`Piper\` + \`DataMapping\` relationship
ericpan64 Jul 8, 2025
7197f60
refactor(Piper): Simplify mapping initialization
ericpan64 Jul 10, 2025
15535c5
refactor: Rename inner module for clarity and consistency
ericpan64 Jul 10, 2025
72f4756
refactor(Piper): Making path mappings explicit with `p.get` partial
ericpan64 Jul 10, 2025
57576e0
refactor: Make chidian pure python (for now)
ericpan64 Jul 11, 2025
9d31fdb
docs: Update link to tests in README
ericpan64 Jul 11, 2025
cf03a5c
refactor: use PEG parser for path expression
ericpan64 Jul 11, 2025
f70391c
refactor: Update `get` to include list access
ericpan64 Jul 23, 2025
2451a7c
refactor: Rename `Piper` -> `Mapper`
ericpan64 Jul 23, 2025
5222836
refactor: Remove the "SEED" naming convention, it's just a type
ericpan64 Jul 23, 2025
0d32068
refactor: Reorganize code dir
ericpan64 Jul 23, 2025
1ab3d0b
refactor: move `DROP` and `KEEP` classes into mapper file
ericpan64 Jul 23, 2025
b7ba388
feat: implement `Table` class with filtering, selecting, and DSL
ericpan64 Jul 23, 2025
3840b88
feat: Improve `Table.get` support
ericpan64 Jul 23, 2025
13c5444
refactor: Improve interface between `DataMapping` and `Mapper`
ericpan64 Jul 23, 2025
1b16e99
refactor: General cleanup
ericpan64 Jul 24, 2025
ab470a4
chore: Remove setup.py file
ericpan64 Jul 24, 2025
11f51e1
Update README
ericpan64 Jul 24, 2025
b3aed14
feat: Add GitHub templates
ericpan64 Jul 24, 2025
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
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

## Describe the bug
<!-- A clear and concise description of what the bug is. -->

## How To Reproduce
<!-- E.g. Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error -->

## Expected behavior
<!-- A clear and concise description of what you expected to happen. -->

## Additional context
<!--
Add any other context about the problem here (examples below)
**Screenshots**: If applicable, add screenshots to help explain your problem.

**Desktop context:**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone context:**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
-->
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

## Problem
<!-- **Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->

## Requested feature
<!-- **Describe the solution you'd like**
A clear and concise description of what you want to happen. -->

### Alternatives considered
<!-- **Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered. -->
-

## Additional context
-
7 changes: 7 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Closes

## Background

## Design (high-level)

## Other notes
17 changes: 17 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: tests
on: [pull_request]
jobs:
run-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install uv
uses: yezz123/setup-uv@v4
- name: Install dependencies
run: uv sync --dev
- name: Run tests
run: uv run pytest
93 changes: 75 additions & 18 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,21 +1,3 @@
# Generated by Cargo
# will have compiled files and executables
debug/
target/

# These are backup files generated by rustfmt
**/*.rs.bk

# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb

# RustRover
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

# MacOS Stuff
.DS_Store

Expand All @@ -40,3 +22,78 @@ temp.txt

# SpecStory explanation file
.specstory/.what-is-this.md


/target
.hypothesis/

# Byte-compiled / optimized / DLL files
__pycache__/
.pytest_cache/
*.py[cod]

# C extensions
*.so

# Distribution / packaging
.Python
.venv/
env/
bin/
build/
develop-eggs/
dist/
eggs/
# lib/
lib64/
parts/
sdist/
var/
include/
man/
venv/
*.egg-info/
.installed.cfg
*.egg

# Installer logs
pip-log.txt
pip-delete-this-directory.txt
pip-selfcheck.json

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.cache
nosetests.xml
coverage.xml

# Translations
*.mo

# Mr Developer
.mr.developer.cfg
.project
.pydevproject

# Rope
.ropeproject

# Django stuff:
*.log
*.pot

.DS_Store

# Sphinx documentation
docs/_build/

# PyCharm
.idea/

# VSCode
.vscode/

# Pyenv
.python-version
201 changes: 0 additions & 201 deletions Cargo.lock

This file was deleted.

Loading
Loading