Skip to content

Commit c5614b2

Browse files
committed
refactor: rename from dataref to reflake to get pypi name
1 parent 56f626b commit c5614b2

60 files changed

Lines changed: 613 additions & 613 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
run: uv run pytest tests -m "not integration"
3535

3636
- name: Smoke-test CLI help
37-
run: uv run dataref --help
37+
run: uv run reflake --help
3838

3939
- name: Build package
4040
run: uv build
@@ -98,14 +98,14 @@ jobs:
9898
WHEEL=$(ls dist/*.whl | head -1)
9999
python -m venv /tmp/smoke-venv
100100
/tmp/smoke-venv/bin/pip install "$WHEEL"
101-
echo "=== dataref --help ==="
102-
/tmp/smoke-venv/bin/dataref --help
103-
echo "=== dataref --version ==="
104-
/tmp/smoke-venv/bin/dataref --version 2>/dev/null || true
101+
echo "=== reflake --help ==="
102+
/tmp/smoke-venv/bin/reflake --help
103+
echo "=== reflake --version ==="
104+
/tmp/smoke-venv/bin/reflake --version 2>/dev/null || true
105105
echo "=== basic commit smoke ==="
106106
TMPDIR=$(mktemp -d)
107107
echo "smoke-test-content" > "$TMPDIR/smoke.txt"
108-
/tmp/smoke-venv/bin/dataref commit --repo "$TMPDIR" -m "smoke" > /dev/null
108+
/tmp/smoke-venv/bin/reflake commit --repo "$TMPDIR" -m "smoke" > /dev/null
109109
echo "Isolated install smoke test passed."
110110
111111
release-gate:
@@ -137,10 +137,10 @@ jobs:
137137
echo "Tag ${GITHUB_REF_NAME} does not match pyproject version ${PACKAGE_VERSION}" >&2
138138
exit 1
139139
fi
140-
echo "Releasing dataref ${PACKAGE_VERSION}"
140+
echo "Releasing reflake ${PACKAGE_VERSION}"
141141
142142
- name: Build package
143143
run: uv build
144144

145145
- name: Publish to PyPI
146-
run: uv publish --publish-url https://upload.pypi.org/legacy/ --check-url https://pypi.org/pypi/dataref/json
146+
run: uv publish --publish-url https://upload.pypi.org/legacy/ --check-url https://pypi.org/pypi/reflake/json
File renamed without changes.

CHANGELOG.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

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

5-
The format is based on Keep a Changelog, and Dataref currently tracks changes before its first public alpha release.
5+
The format is based on Keep a Changelog, and Reflake currently tracks changes before its first public alpha release.
66

77
## Unreleased
88

99
## [0.1.0] - 2026-08-16
1010

1111
### Added
1212

13-
- **Footer-stats pruning engine (rev. 3, docs/architecture.md §4)**: `dataref query
13+
- **Footer-stats pruning engine (rev. 3, docs/architecture.md §4)**: `reflake query
1414
prune <ref> <path> --where "col >= x"` selects the parquet row groups that may
1515
match an AND-composed predicate (`= != < <= > >= IS NULL IS NOT NULL`) using only
1616
the compact `footers/<hash>` stats objects — no data bytes are read. Exposed as
@@ -28,7 +28,7 @@ The format is based on Keep a Changelog, and Dataref currently tracks changes be
2828
under `footers/<hash>` and referenced from new `bp`/`mp` tree entries —
2929
enabling row-group pruning without reading object bytes. Unchanged files are
3030
backfilled on the next commit; `verify`-style re-scan can backfill later.
31-
- `dataref cat <ref> <path>` prints a file's bytes from a ref; `list`, `cat`,
31+
- `reflake cat <ref> <path>` prints a file's bytes from a ref; `list`, `cat`,
3232
`diff`, `log`, and `query` work on virtual refs (S3 URIs) without a local
3333
worktree.
3434
- Streaming S3 import with metadata identity mode and repeatable path filters.
@@ -59,8 +59,8 @@ The format is based on Keep a Changelog, and Dataref currently tracks changes be
5959
changed side, drop double-removals), and creates a merge commit with two
6060
parents when histories diverge; conflicting paths raise
6161
`MergeConflictError` with the offending paths.
62-
- `dataref reflog` (P3): every successful ref update is recorded per-branch in
63-
client state (old → new commit, operation, timestamp); `dataref catalog`
62+
- `reflake reflog` (P3): every successful ref update is recorded per-branch in
63+
client state (old → new commit, operation, timestamp); `reflake catalog`
6464
lists branches with their heads and messages.
6565
- **Plan-then-batch sync (P2, §7)**: `push`/`pull`/`fetch` now compute the exact
6666
missing-object set (commits, trees, footers, blobs) as a transfer plan and
@@ -69,9 +69,9 @@ The format is based on Keep a Changelog, and Dataref currently tracks changes be
6969
footer stats objects now sync too.
7070
- **Adapter error translation (P2, §8)**: the S3 adapters raise domain errors
7171
(`ObjectMissingError`, `PreconditionFailedError`, `StorageUnavailableError`,
72-
all `DatarefError` subclasses) instead of raw botocore exceptions; the CLI no
72+
all `ReflakeError` subclasses) instead of raw botocore exceptions; the CLI no
7373
longer special-cases `BotoCoreError`/`ClientError`.
74-
- `dataref gc` (P2, §11): audit-only by default — computes the reachable set
74+
- `reflake gc` (P2, §11): audit-only by default — computes the reachable set
7575
from all refs (commit DAG → trees → blobs/footers) and reports orphans;
7676
`--prune` deletes them.
7777
- `filesystem.py` moved to the `core/vfs/` package; `index.py` moved to the
@@ -98,16 +98,16 @@ The format is based on Keep a Changelog, and Dataref currently tracks changes be
9898
- Commit creation no longer relies on `_last_manifest_index` instance state; the manifest index is threaded explicitly through manifest writing and commit creation.
9999
- S3 blob writes via streams (`push`/`pull`/`fetch`) now honor the configured blob transfer backend, so `s5cmd` accelerates sync transfers.
100100
- The in-process commit cache is now bounded (LRU-style) instead of growing without limit.
101-
- `DatarefRepository` is now a facade over four focused collaborator services (`RefManager`, `SnapshotWriter`, `StagingArea`, `EntryFactory` in `core/services/`); the god-object class was split from ~1650 to ~790 lines and `repository_ops.py` no longer reaches into repository internals.
101+
- `ReflakeRepository` is now a facade over four focused collaborator services (`RefManager`, `SnapshotWriter`, `StagingArea`, `EntryFactory` in `core/services/`); the god-object class was split from ~1650 to ~790 lines and `repository_ops.py` no longer reaches into repository internals.
102102

103103
### Removed
104104

105105
- Removed `manifest_index.py`, `manifest_query.py`, `.idx` sidecars, the embedded manifest index, and the index/fallback decision tree.
106-
- Removed the `dataref import` command; S3 ingress is now staged via `dataref add ... s3://... [--identity meta --as ...]` followed by `dataref commit --staged`.
107-
- Removed `--identity` from `dataref commit`; the commit identity mode is now configured with `dataref config set identity meta`, or set per stage with `dataref add --identity ...`.
108-
- Removed the direct-commit `-m/--message` flag from `dataref rm` and `dataref mv`; metadata-only mutations are staged and committed with `dataref commit --staged`.
109-
- Removed `--ref` from `dataref verify` and `dataref index build`; both now target the current branch.
110-
- Removed `dataref index query` and `dataref index drop`; `dataref index build` remains and the produced DuckDB database can be queried with the DuckDB CLI.
106+
- Removed the `reflake import` command; S3 ingress is now staged via `reflake add ... s3://... [--identity meta --as ...]` followed by `reflake commit --staged`.
107+
- Removed `--identity` from `reflake commit`; the commit identity mode is now configured with `reflake config set identity meta`, or set per stage with `reflake add --identity ...`.
108+
- Removed the direct-commit `-m/--message` flag from `reflake rm` and `reflake mv`; metadata-only mutations are staged and committed with `reflake commit --staged`.
109+
- Removed `--ref` from `reflake verify` and `reflake index build`; both now target the current branch.
110+
- Removed `reflake index query` and `reflake index drop`; `reflake index build` remains and the produced DuckDB database can be queried with the DuckDB CLI.
111111

112112
### Fixed
113113

CONTRIBUTING.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
## Development Setup
44

5-
Dataref uses `uv` for dependency management and local commands.
5+
Reflake uses `uv` for dependency management and local commands.
66

77
```bash
88
uv sync --group dev
9-
uv run dataref --help
9+
uv run reflake --help
1010
```
1111

1212
## Local Validation
@@ -20,25 +20,25 @@ uv run pytest tests
2020
Run only the real S3 integration tests against Ministack:
2121

2222
```bash
23-
export DATAREF_MINISTACK_ENDPOINT=http://127.0.0.1:9000
24-
export DATAREF_MINISTACK_ACCESS_KEY=ministack
25-
export DATAREF_MINISTACK_SECRET_KEY=ministack123
26-
export DATAREF_MINISTACK_REGION=us-east-1
23+
export REFLAKE_MINISTACK_ENDPOINT=http://127.0.0.1:9000
24+
export REFLAKE_MINISTACK_ACCESS_KEY=ministack
25+
export REFLAKE_MINISTACK_SECRET_KEY=ministack123
26+
export REFLAKE_MINISTACK_REGION=us-east-1
2727

2828
uv run pytest tests/test_s3_integration.py -m integration
2929
```
3030

31-
If `DATAREF_MINISTACK_ENDPOINT` is unset or unreachable, the integration tests skip automatically.
31+
If `REFLAKE_MINISTACK_ENDPOINT` is unset or unreachable, the integration tests skip automatically.
3232

3333
## Project Expectations
3434

35-
- Dataref is licensed under AGPL-3.0-or-later; preserve the license and notice files in redistributions.
35+
- Reflake is licensed under AGPL-3.0-or-later; preserve the license and notice files in redistributions.
3636
- Prefer Python type hints by default.
37-
- Keep Dataref client-first: no server, daemon, or central database.
37+
- Keep Reflake client-first: no server, daemon, or central database.
3838
- Keep canonical blob storage simple and immutable.
3939
- Metadata-only operations must not read blob payloads.
4040
- Prefer stream-safe, O(1)-memory patterns when working with manifests and large imports.
41-
- Use Blake3 for Dataref content and identity hashing.
41+
- Use Blake3 for Reflake content and identity hashing.
4242

4343
## Pull Requests
4444

NOTICE

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
Dataref
1+
Reflake
22
Copyright (C) 2026 Hampus Londögård
33

4-
Dataref is distributed under the GNU Affero General Public License v3.0 or later.
4+
Reflake is distributed under the GNU Affero General Public License v3.0 or later.
55
Please preserve this notice, the LICENSE file, and the project copyright notices
6-
when redistributing Dataref or modified versions of it.
6+
when redistributing Reflake or modified versions of it.
77

8-
Organizations that depend on Dataref are encouraged to sponsor ongoing
8+
Organizations that depend on Reflake are encouraged to sponsor ongoing
99
maintenance and development:
1010
https://github.com/sponsors/londogard

0 commit comments

Comments
 (0)