-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release v0.3 #103
Release v0.3 #103
Changes from 100 commits
f28375a
23892ae
71c4c82
5079204
bcbe63b
22d20b2
ed93bfd
9eda929
4e9cd07
46406c8
a9c146d
436431b
220dc7e
3306bde
e66eeff
b4d28d6
9614cb8
9ae8abf
219d5cd
ffe8b70
00ede70
2280254
428d8dc
2be7739
38bb264
4f1f784
795ec28
0ddc395
5028000
703a9c4
448d2d1
66a5657
011dd50
517542b
476007a
867ce93
09d46b9
129b82e
0396a64
1a75640
329fa3d
418837f
c62eeea
a81f68f
2e41685
e508524
c65bc3e
640705c
a8802d6
a4a3675
eaacbf2
a375e93
282432e
616ae2f
2a7de40
2327d7b
039ff0e
cbc929e
825c9f4
996c882
7527a05
fcacf38
47fc7fc
605d456
590996c
56eac4b
5e90973
8760c33
71cddb8
8a4b67e
ed3f493
e197cb2
61be76f
e494d7a
0806dc9
5c97e4b
5668c52
3913997
25ba4ad
540bd10
6ca21f7
759ec58
5086d1b
d7b32d3
26c3958
2368f2e
37d8623
2b26e45
ee26ed1
241b572
7b4081f
f829a97
3531bb9
b821923
e450a01
1cb41b0
4f4b4c3
7a83553
c753336
1b94c78
867c5ca
f1a57e6
e3c6f65
7073a7d
69eca57
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,26 +13,28 @@ jobs: | |
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python 3.10 | ||
- name: Set up Python 3.12 | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.10" | ||
python-version: "3.12" | ||
cache: 'pip' | ||
cache-dependency-path: '**/setup.cfg' | ||
- name: Install package with dependencies | ||
cache-dependency-path: '**/pyproject.toml' | ||
- name: Install package with development dependencies | ||
run: pip install -e ".[dev]" | ||
if: steps.python-cache.outputs.cache-hit != 'true' | ||
|
||
# check code style | ||
- name: Run black | ||
run: black src --check --diff | ||
# check with ruff | ||
- name: Run ruff | ||
run: ruff check | ||
|
||
# check docs | ||
- name: Check that documentation can be built | ||
run: tox -e docs | ||
run: sphinx-build docs docs/_build # --fail-on-warning | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Codebase verification Remove the commented The documentation setup is standard with no special warning configurations in either
🔗 Analysis chainDecide on documentation warning handling The Let's check if there are any current documentation warnings: Consider either:
🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Description: Check for documentation warnings
sphinx-build -b html docs docs/_build 2>&1 | grep -i "warning:"
Length of output: 58 Script: #!/bin/bash
# Let's first check if sphinx-build is available in the environment
which sphinx-build
# Let's also check the content of docs directory to understand the documentation setup
ls -la docs/
# Check if there's any configuration for sphinx
fd -t f "conf.py" docs/
# Look for any historical changes to the sphinx build command
git log -p -- .github/workflows/check.yml | grep -A 5 -B 5 "sphinx-build"
Length of output: 1777 Script: #!/bin/bash
# Let's check the content of conf.py to see if there are any warning configurations
cat docs/conf.py
# Let's also check the Makefile to see if there are any warning-related configurations
cat docs/Makefile
Length of output: 3351 |
||
|
||
# check types with mypy | ||
- name: Install mypy | ||
run: pip install mypy | ||
- name: Check types in python src directory; install needed types | ||
run: mypy --install-types --non-interactive src | ||
|
||
# use treon to make sure that example notebooks run | ||
- name: Check jupyter notebooks with treon | ||
run: treon |
Original file line number | Diff line number | Diff line change | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
@@ -11,14 +11,14 @@ on: | |||||||||
|
||||||||||
env: | ||||||||||
# python version used to calculate and submit code coverage | ||||||||||
COV_PYTHON_VERSION: "3.11" | ||||||||||
COV_PYTHON_VERSION: "3.12" | ||||||||||
|
||||||||||
jobs: | ||||||||||
python-unit: | ||||||||||
runs-on: ubuntu-latest | ||||||||||
strategy: | ||||||||||
matrix: | ||||||||||
python: ["3.9", "3.10", "3.11", "3.12"] | ||||||||||
python: ["3.9", "3.10", "3.11", "3.12", "3.13"] | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Codebase verification Python 3.13 compatibility needs attention The dependencies have the following Python version requirements:
While these version constraints don't explicitly exclude Python 3.13, numpy is typically conservative with supporting alpha/beta Python versions. Since Python 3.13 is currently in alpha, it's recommended to:
🔗 Analysis chainVerify Python 3.13 compatibility Including Python 3.13 in the test matrix is forward-looking, but as it's currently in alpha, we should verify that all dependencies support it. Let me check the dependencies more thoroughly to verify Python 3.13 compatibility. Let me try one more verification approach to check the dependencies directly from package registries. 🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Check if dependencies in pyproject.toml specify Python version constraints
# Find and examine pyproject.toml files
fd pyproject.toml --exec cat {} | grep -A 10 "dependencies\|requires-python"
Length of output: 641 Script: #!/bin/bash
# Check specific version constraints for lark and numpy
fd requirements.txt --exec cat {}
fd setup.py --exec cat {} | grep -A 10 "install_requires\|python_requires"
Length of output: 116 Script: #!/bin/bash
# Check if the main dependencies (lark and numpy) support Python 3.13
curl -s https://pypi.org/pypi/lark/json | jq -r '.info.requires_python'
curl -s https://pypi.org/pypi/numpy/json | jq -r '.info.requires_python'
Length of output: 157 |
||||||||||
defaults: | ||||||||||
run: | ||||||||||
working-directory: . | ||||||||||
|
@@ -30,21 +30,20 @@ jobs: | |||||||||
with: | ||||||||||
python-version: ${{ matrix.python }} | ||||||||||
cache: 'pip' | ||||||||||
cache-dependency-path: '**/setup.cfg' | ||||||||||
cache-dependency-path: '**/pyproject.toml' | ||||||||||
- name: Install package with dependencies | ||||||||||
run: | | ||||||||||
pip install -e ".[dev]" | ||||||||||
python -m pip install tox tox-gh-actions | ||||||||||
pip install -e ".[test]" | ||||||||||
if: steps.python-cache.outputs.cache-hit != 'true' | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix undefined property in cache hit check The condition uses Apply this fix: - if: steps.python-cache.outputs.cache-hit != 'true'
+ if: steps.cache.outputs.cache-hit != 'true' 📝 Committable suggestion
Suggested change
🧰 Tools🪛 actionlint37-37: property "python-cache" is not defined in object type {} (expression) |
||||||||||
|
||||||||||
# for all versions but the one we use for code coverage, run normally | ||||||||||
- name: Run unit tests normally | ||||||||||
run: tox | ||||||||||
run: pytest | ||||||||||
if: ${{ matrix.python != env.COV_PYTHON_VERSION }} | ||||||||||
|
||||||||||
# run code coverage in one version only | ||||||||||
- name: Run unit tests with code coverage reporting | ||||||||||
run: tox -e coverage | ||||||||||
run: pytest --cov=undate | ||||||||||
if: ${{ matrix.python == env.COV_PYTHON_VERSION }} | ||||||||||
- name: Upload test coverage to Codecov | ||||||||||
uses: codecov/codecov-action@v3 | ||||||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -39,3 +39,6 @@ venv.bak/ | |
# code coverage | ||
.coverage | ||
coverage.xml | ||
|
||
# jupyter | ||
.ipynb_checkpoints/ |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -1,9 +1,11 @@ | ||||||||||||||||||||||||||||
files: \.py | ||||||||||||||||||||||||||||
repos: | ||||||||||||||||||||||||||||
- repo: https://github.com/psf/black | ||||||||||||||||||||||||||||
rev: 22.10.0 | ||||||||||||||||||||||||||||
- repo: https://github.com/astral-sh/ruff-pre-commit | ||||||||||||||||||||||||||||
rev: v0.3.4 | ||||||||||||||||||||||||||||
hooks: | ||||||||||||||||||||||||||||
- id: black | ||||||||||||||||||||||||||||
- id: ruff | ||||||||||||||||||||||||||||
args: [ --select, I, --fix, --exit-non-zero-on-fix ] | ||||||||||||||||||||||||||||
- id: ruff-format | ||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Consider expanding Ruff's rule selection for better code quality coverage The current configuration only enables import sorting rules ( - id: ruff
- args: [ --select, I, --fix, --exit-non-zero-on-fix ]
+ args: [ --select, E,F,W,I, --fix, --exit-non-zero-on-fix ] This change would enable:
📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||||||||||||||||||||||||||||
rev: v4.3.0 | ||||||||||||||||||||||||||||
hooks: | ||||||||||||||||||||||||||||
|
@@ -12,4 +14,9 @@ repos: | |||||||||||||||||||||||||||
- id: debug-statements | ||||||||||||||||||||||||||||
- id: end-of-file-fixer | ||||||||||||||||||||||||||||
- id: mixed-line-ending | ||||||||||||||||||||||||||||
- id: trailing-whitespace | ||||||||||||||||||||||||||||
- id: trailing-whitespace | ||||||||||||||||||||||||||||
- repo: https://github.com/pre-commit/mirrors-mypy | ||||||||||||||||||||||||||||
rev: v1.13.0 | ||||||||||||||||||||||||||||
hooks: | ||||||||||||||||||||||||||||
- id: mypy | ||||||||||||||||||||||||||||
additional_dependencies: [numpy] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Python 3.12.7 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,58 @@ | ||
# Contributing to Undate - A fuzzy date Python library | ||
|
||
# Contributing to undate | ||
|
||
Hey there! | ||
|
||
If you found your way here that probably means you are curious about how to contribute to this project. This is great! We are always looking for new contributors. If you can't find the information you are looking for in this document or anywhere else in the repo, please consider [opening a ticket](https://github.com/dh-tech/undate-python/issues) so we know there is something we need to address. | ||
|
||
## Project Setup | ||
Instructions on how to set up the project locally and how to run the tests can be found [in the Readme file](README.md). | ||
Instructions on how to set up the project locally and how to run the tests can be found in [Developer Notes](DEVELOPER_NOTES.md). | ||
|
||
## Submitting Changes | ||
If you would like to contribute by submitting bug fixes, improvements, or new features, please fork the repository and then make a pull request to our main branch when you are ready. For details see [this description of the Forking Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow). | ||
|
||
If you would like to contribute by submitting bug fixes, improvements, or new features, please fork the repository and then make a pull request to undate **develop** branch when you are ready. If you haven't contributed like this before, we recommend reading [GitHub's documentation on Contributing to a Project](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project). | ||
|
||
We use **git flow** branching conventions, so the current release is on the **main** branch and new feature development happens on **develop**. Pull requests for new features or bug fixes should be made to **develop** for inclusion in the next release. For more details, read a longer explanation of the [Git Flow Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) | ||
|
||
Recommended branch naming conventions: | ||
|
||
- For a new feature, create a branch named `feature/i##-short-name` where `##` is the relevant GitHub issue number (if there is one) and `short-name` is a brief label that relates to the changes or feature | ||
|
||
In most cases branches should be created from the most recent **develop** branch. Make sure you check out develop and pull any remote changes. | ||
```sh | ||
git checkout develop | ||
git pull | ||
``` | ||
|
||
If you have `git flow` installed, you can start, you can use: | ||
```sh | ||
git flow feature start i##-short-name | ||
``` | ||
|
||
If not, you can do the same thing with git commands: | ||
```sh | ||
git checkout -b feature/i##-short-name | ||
``` | ||
|
||
When you are ready to contribute your changes, open a pull request from your branch to the main undate repository. Please be sure to link to the GitHub issue in your pull request comments. | ||
|
||
Ideally contributions should include documentation and tests for the proposed changes, but if that is a barrier please let us know when you submit a pull request. | ||
|
||
Please be aware that any contributions will fall under the existing Apache 2.0 license applied to this software. | ||
|
||
## Submitting Bug Reports and Feature Requests | ||
|
||
If you find a bug or can think a feature you would really like to see being implemented, you can [create a new issue](https://github.com/dh-tech/undate-python/issues). Please first look through the existing issues, however, to avoid duplication of issues. | ||
|
||
If you report a bug, please include any error messages you get and a full description of the steps to reproduce the bug. For new feature requests, please clearly describe the functionality you are looking for and, if applicable, why any existing workflow does not suffice. Please also consider, fixing bugs and implementing new features yourself and submit pull request! :) | ||
If you report a bug, please include any error messages you get and a full description of the steps to reproduce the bug. For new feature requests, please clearly describe the functionality you are looking for and, if applicable, why any existing workflow does not suffice. Please also consider fixing bugs and implementing new features yourself and submitting them via pull request! :) | ||
|
||
## Submitting Use Cases and Example Data | ||
|
||
We are particularly interested in collecting more use cases and example data where undate would be helpful! | ||
|
||
Example data can be added to the [examples/](https://github.com/dh-tech/undate-python/tree/main/examples/) folder by a pull request. | ||
|
||
## Getting Help | ||
The best and recommended way to get help is to join the [DHTech Slack](https://dh-tech.github.io/join/) and ask for help there. Only in cases when this is not feasible at all, you can open a new issue and tag it with "Help Request". | ||
The best and recommended way to get help is to join the [DHTech Slack](https://dh-tech.github.io/join/) and ask for help there. Only in cases when this is not feasible at all, you can open a new issue and tag it with "Help Request". | ||
|
||
## DHTech | ||
This project started during the DHTech 2022 Hackathon. If you do technical work in the digital humanities and are intersted in meeting like-minded people, [consider joining](https://dh-tech.github.io/join/)! |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
# All Contributors | ||
|
||
We use [All Contributors](https://allcontributors.org/) because we recognize that all kinds of contributions are valuable and important. | ||
|
||
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> | ||
![All Contributors](https://img.shields.io/github/all-contributors/dh-tech/undate-python?color=ee8449&style=flat-square) | ||
<!-- ALL-CONTRIBUTORS-BADGE:END --> | ||
|
||
## Contributors | ||
|
||
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> | ||
<!-- prettier-ignore-start --> | ||
<!-- markdownlint-disable --> | ||
<table> | ||
<tbody> | ||
<tr> | ||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ColeDCrawford"><img src="https://avatars.githubusercontent.com/u/16374762?v=4?s=100" width="100px;" alt="Cole Crawford"/><br /><sub><b>Cole Crawford</b></sub></a><br /><a href="https://github.com/dh-tech/undate-python/commits?author=ColeDCrawford" title="Code">💻</a> <a href="https://github.com/dh-tech/undate-python/pulls?q=is%3Apr+reviewed-by%3AColeDCrawford" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/dh-tech/undate-python/commits?author=ColeDCrawford" title="Tests">⚠️</a> <a href="#ideas-ColeDCrawford" title="Ideas, Planning, & Feedback">🤔</a></td> | ||
<td align="center" valign="top" width="14.28%"><a href="http://rlskoeser.github.io"><img src="https://avatars.githubusercontent.com/u/691231?v=4?s=100" width="100px;" alt="Rebecca Sutton Koeser"/><br /><sub><b>Rebecca Sutton Koeser</b></sub></a><br /><a href="https://github.com/dh-tech/undate-python/commits?author=rlskoeser" title="Code">💻</a> <a href="https://github.com/dh-tech/undate-python/pulls?q=is%3Apr+reviewed-by%3Arlskoeser" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/dh-tech/undate-python/commits?author=rlskoeser" title="Tests">⚠️</a> <a href="#blog-rlskoeser" title="Blogposts">📝</a> <a href="#example-rlskoeser" title="Examples">💡</a> <a href="https://github.com/dh-tech/undate-python/commits?author=rlskoeser" title="Documentation">📖</a> <a href="#platform-rlskoeser" title="Packaging/porting to new platform">📦</a></td> | ||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/robcast"><img src="https://avatars.githubusercontent.com/u/1488847?v=4?s=100" width="100px;" alt="Robert Casties"/><br /><sub><b>Robert Casties</b></sub></a><br /><a href="#data-robcast" title="Data">🔣</a> <a href="#ideas-robcast" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/dh-tech/undate-python/pulls?q=is%3Apr+reviewed-by%3Arobcast" title="Reviewed Pull Requests">👀</a></td> | ||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jdamerow"><img src="https://avatars.githubusercontent.com/u/8881141?v=4?s=100" width="100px;" alt="Julia Damerow"/><br /><sub><b>Julia Damerow</b></sub></a><br /><a href="https://github.com/dh-tech/undate-python/commits?author=jdamerow" title="Code">💻</a> <a href="https://github.com/dh-tech/undate-python/pulls?q=is%3Apr+reviewed-by%3Ajdamerow" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/dh-tech/undate-python/commits?author=jdamerow" title="Tests">⚠️</a> <a href="#eventOrganizing-jdamerow" title="Event Organizing">📋</a> <a href="#ideas-jdamerow" title="Ideas, Planning, & Feedback">🤔</a></td> | ||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/maltevogl"><img src="https://avatars.githubusercontent.com/u/20907912?v=4?s=100" width="100px;" alt="Malte Vogl"/><br /><sub><b>Malte Vogl</b></sub></a><br /><a href="https://github.com/dh-tech/undate-python/commits?author=maltevogl" title="Code">💻</a> <a href="https://github.com/dh-tech/undate-python/pulls?q=is%3Apr+reviewed-by%3Amaltevogl" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/dh-tech/undate-python/commits?author=maltevogl" title="Tests">⚠️</a> <a href="https://github.com/dh-tech/undate-python/commits?author=maltevogl" title="Documentation">📖</a></td> | ||
</tr> | ||
</tbody> | ||
<tfoot> | ||
<tr> | ||
<td align="center" size="13px" colspan="7"> | ||
<img src="https://raw.githubusercontent.com/all-contributors/all-contributors-cli/1b8533af435da9854653492b1327a23a4dbd0a10/assets/logo-small.svg"> | ||
<a href="https://all-contributors.js.org/docs/en/bot/usage">Add your contributions</a> | ||
</img> | ||
</td> | ||
</tr> | ||
</tfoot> | ||
</table> | ||
|
||
<!-- markdownlint-restore --> | ||
<!-- prettier-ignore-end --> | ||
|
||
<!-- ALL-CONTRIBUTORS-LIST:END --> | ||
<!-- prettier-ignore-start --> | ||
<!-- markdownlint-disable --> | ||
|
||
<!-- markdownlint-restore --> | ||
<!-- prettier-ignore-end --> | ||
|
||
<!-- ALL-CONTRIBUTORS-LIST:END --> | ||
|
||
### Related blog posts | ||
|
||
(blog-rlskoeser)= | ||
#### [by Rebecca Sutton Koeser](#blog-rlskoeser) | ||
- [Join me for a DHTech hackathon? It’s an un-date!](https://dh-tech.github.io/blog/2023-02-09-hackathon-summary/) 2023-02-09 on DHTech blog |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix the cache hit condition
The condition references an undefined cache output variable. The correct output variable should be from the setup-python action.
Apply this fix:
📝 Committable suggestion
🧰 Tools
🪛 actionlint
24-24: property "python-cache" is not defined in object type {}
(expression)