Skip to content

Commit

Permalink
docs: update changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
Jeremy Silver committed Apr 15, 2024
1 parent de0dcf2 commit 0865d3b
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 20 deletions.
15 changes: 6 additions & 9 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ jobs:
build:
name: "Code checks"
runs-on: ubuntu-latest
# strategy:
# matrix:
# python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
Expand Down Expand Up @@ -43,19 +40,19 @@ jobs:
# build virtualenvs, but only if they're not already cached
run: hatch env create lint && hatch env create test
if: steps.cache-venv.outputs.cache-hit != 'true'
- name: Lint (ruff)
run: hatch run lint:run-ruff
- name: Python compatibility (vermin)
run: hatch run lint:run-vermin
- name: Type-check (mypy)
run: hatch run lint:run-mypy
- name: Lines of code (radon)
run: hatch run lint:run-loc-summary | tee loc-summary.txt
- name: Upload lines of code
uses: actions/upload-artifact@v4
with:
name: loc-summary
path: loc-summary.txt
- name: Lint (ruff)
run: hatch run lint:run-ruff
- name: Python compatibility (vermin)
run: hatch run lint:run-vermin
- name: Type-check (mypy)
run: hatch run lint:run-mypy
- name: Test (pytest)
run: hatch run test:test --verbosity=0
# - name: Build dist
Expand Down
20 changes: 11 additions & 9 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# TODO

## v0.3.0
## v0.4.0

- Github Actions for automated testing
- Coverage badge
- Auto-publish when new tag is pushed (see: https://pypi.org/manage/project/fancy-dataclass/settings/publishing/)
- Require tag to match version?
- `DictConfig` subclass of `Config` (unstructured configs loaded from JSON/TOML)
- Release
- CHANGELOG update
- Tag v0.3.0
- Check PyPI page links to Read the Docs
- Tag new version

## v0.3.1
## v0.4.1

- `DictConfig` subclass of `Config` (unstructured configs loaded from JSON/TOML)
- documentation
- Dataclass mixins/settings
- For now, `dataclass` decorator is required
Expand All @@ -33,16 +33,18 @@

- `FileSerializable`
- Add `save` and `load` convenience methods?
- `TabularDataclass`? CSV/TSV/parquet/feather
- Make `SQLDataclass` inherit from it
- Convert to/from `pandas` `Series` and `DataFrame`?
- `TOMLDataclass`
- Require subclass to set `qualified_type=True`, like `JSONDataclass`?
- Preserve document structure via `tomlkit`
- NOTE: the parsed values themselves have a `_trivia` attribute storing various formatting info
- Use field metadata (`help`?) as comment prior to the field
- For `None`, serialize as commented field?
- `TabularDataclass`? CSV/TSV/parquet/feather
- Make `SQLDataclass` inherit from it
- Convert to/from `pandas` `Series` and `DataFrame`?
- Support subparsers in `ArgparseDataclass`
- `ArgparseDataclass`
- Support subparsers
- Test subparsers, groups, mutually exclusive groups
- Field metadata
- Be strict about unknown field metadata keys? (Maybe issue warning?)
- Might be annoying if people want to store extra metadata.
Expand Down
11 changes: 10 additions & 1 deletion docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,19 @@ Types of changes:

## [Unreleased]

## [0.3.0]

2024-04-14

### Added

- `TOMLDataclass` for saving/loading TOML via [`tomlkit`](https://tomlkit.readthedocs.io/en/latest/)
- Support for loading TOML configurations in `ConfigDataclass`
- `FileSerializable` and `DictFileSerializableDataclass` mixins to factor out shared functionality between JSON/TOML serialization
- Documentation
- Usage examples for `TOMLDataclass` and `ConfigDataclass`
- Hosting on Read the Docs [here](https://fancy-dataclass.readthedocs.io/en/latest/)
- CI: Github Actions to automate building/linting/testing

## [0.2.0]

Expand Down Expand Up @@ -64,7 +72,8 @@ Types of changes:
- `SQLDataclass`: SQL persistence via `sqlalchemy`
- `SubprocessDataclass`: call out to another program via `subprocess`

[unreleased]: https://github.com/jeremander/fancy-dataclass/compare/v0.2.0...HEAD
[unreleased]: https://github.com/jeremander/fancy-dataclass/compare/v0.3.0...HEAD
[0.3.0]: https://github.com/jeremander/fancy-dataclass/releases/tag/v0.3.0
[0.2.0]: https://github.com/jeremander/fancy-dataclass/releases/tag/v0.2.0
[0.1.0]: https://github.com/jeremander/fancy-dataclass/releases/tag/v0.1.0

Expand Down
4 changes: 4 additions & 0 deletions docs/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,10 @@ python calculator.py div 8 3 --round

🚧 **Under construction** 🚧

<!--
- Can modify parser manually, or customize handling a specific arg
-->

<style>
.md-sidebar--secondary {
display: none !important;
Expand Down
2 changes: 1 addition & 1 deletion fancy_dataclass/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@
from .toml import TOMLDataclass


__version__ = '0.3.0'
__version__ = '0.3.1'

0 comments on commit 0865d3b

Please sign in to comment.