-
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
Merged
Merged
Release v0.3 #103
Changes from all commits
Commits
Show all changes
105 commits
Select commit
Hold shift + click to select a range
f28375a
Move developer notes into separate document
rlskoeser 23892ae
Update contributing document
rlskoeser 71c4c82
Move all-contributors to a separate file
rlskoeser 5079204
Reorganize examples and add a readme
rlskoeser bcbe63b
Reword link to contributor doc
rlskoeser 22d20b2
Add some example usage for undate objects to readme
rlskoeser ed93bfd
Add example usage for date intervals
rlskoeser 9eda929
Add and use local copy of S&co events dataset
rlskoeser 4e9cd07
Add jupyter checkpoints to gitignore
rlskoeser 46406c8
Add treon step to check workflow to verify jupyter notebooks run
rlskoeser a9c146d
Describe S&co events dataset and use cases
rlskoeser 436431b
Spike on using numpy datetime64 instead of python builtin datetime
rlskoeser 220dc7e
Set min/max year for np.datetime64 day range
rlskoeser 3306bde
Simplify np.datetime64 subclass thanks to stack overflow
rlskoeser e66eeff
Merge pull request #81 from dh-tech/feature/readme-cleanup
rlskoeser b4d28d6
Update README.md
rlskoeser 9614cb8
Update README.md
rlskoeser 9ae8abf
Update Shakespeare README
ColeDCrawford 219d5cd
Merge pull request #82 from dh-tech/feature/75-example-usage
rlskoeser ffe8b70
Update requirements for treon/nbconvert/lxml issue
rlskoeser 00ede70
Add more detail about justification/impact of undate for S&co data
rlskoeser 2280254
Merge pull request #83 from dh-tech/feature/76-jupyter-ci
rlskoeser 428d8dc
Consolidate setup.cfg and pyproject.toml; drop tox
rlskoeser 2be7739
Install test dependencies only in ci, not all dev deps
rlskoeser 38bb264
Update sphinx docs build; drop dependency on tox
rlskoeser 4f1f784
Integrate github docs with sphinx; turn on relative links
rlskoeser 795ec28
Add setuptools to docs dependencies for sphinx/m2r2
rlskoeser 0ddc395
Run checks with python 3.12
rlskoeser 5028000
Switch to newer version of sphinx and sphinx theme
rlskoeser 703a9c4
Try working version of sphinx 7.x
rlskoeser 448d2d1
Adjust capitalization
rlskoeser 66a5657
Add preliminary logo and add dh-tech to docs sidebar
rlskoeser 011dd50
Try adding undate logo to readme
rlskoeser 517542b
Try version with transparent background
rlskoeser 476007a
Require newer version of m2r2
rlskoeser 867ce93
Move pytest config into pyproject.toml
rlskoeser 09d46b9
Switch to myst-parser and reconfigure markdown in sphinx docs
rlskoeser 129b82e
Document more contributions
rlskoeser 0396a64
Move numpy date shim into separate file
rlskoeser 1a75640
Add unit tests for date class
rlskoeser 329fa3d
Update type hints
rlskoeser 418837f
Make EDTF parser available as undate formatter; handle 5+ digit years
rlskoeser c62eeea
Add and test properties for accessing month/day/year as 4/2-digit string
rlskoeser a81f68f
Move edtf formatter out of init
rlskoeser 2e41685
Revise date precision ordering / comparison logic
rlskoeser e508524
Revise EDTF string formatting
rlskoeser c65bc3e
Handle possible unset values when creating edtf date string
rlskoeser 640705c
Require formatter to_string to support undate and undate interval
rlskoeser a8802d6
Add string format and parse methods to undate and undate interval
rlskoeser a4a3675
Configure mypy pre-commit check
rlskoeser eaacbf2
Merge pull request #91 from dh-tech/feature/mypy-precommit-check
rlskoeser a375e93
Merge pull request #88 from dh-tech/feature/pyproject-setup-refactor
rlskoeser 282432e
Merge branch 'develop' into experiment/numpy-datetime64
rlskoeser 616ae2f
Switch from black to ruff and fix imports
rlskoeser 2a7de40
Clean up based on code review and linters
rlskoeser 2327d7b
Improve numpy duration & timedelta handling
rlskoeser 039ff0e
Improve duration handling for unknown years
rlskoeser cbc929e
Add branching guidelines to contributor documentation (#94)
rlskoeser 825c9f4
Revise optional dependency groups so dev implies test
rlskoeser 996c882
Merge pull request #96 from dh-tech/fix-dev-deps
rlskoeser 7527a05
Test against python 3.13
rlskoeser fcacf38
Merge pull request #97 from dh-tech/feature/support-python3.13
rlskoeser 47fc7fc
New notebook to demonstrate & confirm EDTF spec support.
rlskoeser 605d456
Add examples for more of L1/L2 EDTF spec
rlskoeser 590996c
Support negative years for five digit+ years
rlskoeser 56eac4b
Allow importing main undate objects from top level namespace
rlskoeser 5e90973
Handle negative 4-digit years
rlskoeser 8760c33
Handle level 2 fully-unspecified year
rlskoeser 71cddb8
Don't use signed int for year since + is unsupported
rlskoeser 8a4b67e
Clean items flagged by @ColeDCrawford in code review
rlskoeser ed3f493
Use union syntax for py3.9 type hints
rlskoeser e197cb2
Switch CI check from black to ruff
rlskoeser 61be76f
Clean up to pass ruff and mypy checks
rlskoeser e494d7a
Update project classifiers
rlskoeser 0806dc9
Merge branch 'develop' into experiment/numpy-datetime64
rlskoeser 5c97e4b
Merge pull request #84 from dh-tech/experiment/numpy-datetime64
rlskoeser 5668c52
Merge branch 'develop' into feature/edtf-formatter
rlskoeser 3913997
Merge branch 'feature/edtf-formatter' into feature/parse-format
rlskoeser 25ba4ad
Cleanup unused assertion flagged by kypso-bot
rlskoeser 540bd10
Add tests for lines missing coverage
rlskoeser 6ca21f7
Merge pull request #89 from dh-tech/feature/edtf-formatter
rlskoeser 759ec58
Merge pull request #90 from dh-tech/feature/parse-format
rlskoeser 5086d1b
Rename formatters submodule and classes to converters
rlskoeser d7b32d3
Add converters to sphinx docs; document how to add a new converter #86
rlskoeser 26c3958
Handle empty string; add more invalid test cases
rlskoeser 2368f2e
Update notebook for formatter -> converter refactor
rlskoeser 37d8623
Adjustments and documentation suggested by @coderabbitai
rlskoeser 2b26e45
Drop python-dateutil from dependencies, since it's currently unused
rlskoeser ee26ed1
Merge pull request #101 from dh-tech/feature/rename-formatter-converter
rlskoeser 241b572
Merge branch 'develop' into feature/edtf-demo-notebook
rlskoeser 7b4081f
Update EDTF demo/validation notebook for formatter/converter refactor
rlskoeser f829a97
Remove unsupported note for negative years
rlskoeser 3531bb9
Clean up items flagged by ruff check
rlskoeser b821923
Improve test coverage and error handling for EDTF
rlskoeser e450a01
Merge pull request #98 from dh-tech/feature/edtf-demo-notebook
rlskoeser 1cb41b0
Update formatting examples and clarify current limitations
rlskoeser 4f4b4c3
Improve & test handling for edtf parse error
rlskoeser 7a83553
Document changes included in v0.3 and impact of including numpy
rlskoeser c753336
Document more changes included in v0.3
rlskoeser 1b94c78
Remove unused variable
rlskoeser 867c5ca
Clean up, improve documentation, and prep for release
rlskoeser f1a57e6
Use absolute url to example notebooks to avoid sphinx error
rlskoeser e3c6f65
More @coderabbitai nit picks
rlskoeser 7073a7d
Update pyproject.toml
rlskoeser 69eca57
Simplify cache check in github actions
rlskoeser File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -39,3 +39,6 @@ venv.bak/ | |
# code coverage | ||
.coverage | ||
coverage.xml | ||
|
||
# jupyter | ||
.ipynb_checkpoints/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Python 3.12.7 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/)! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
💡 Codebase verification
Python 3.13 compatibility needs attention
The dependencies have the following Python version requirements:
>=3.8
>=3.10
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 chain
Verify 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 executed
The following scripts were executed for the analysis:
Script:
Length of output: 641
Script:
Length of output: 116
Script:
Length of output: 157