diff --git a/.all-contributorsrc b/.all-contributorsrc index 950bf65..da8aabb 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1,71 +1,25 @@ { + "projectName": "undate-python", + "projectOwner": "dh-tech", + "repoType": "github", + "repoHost": "https://github.com", "files": [ "README.md" ], "imageSize": 100, - "commit": false, + "commit": true, "commitConvention": "angular", "contributors": [ - { - "login": "ColeDCrawford", - "name": "Cole Crawford", - "avatar_url": "https://avatars.githubusercontent.com/u/16374762?v=4", - "profile": "https://github.com/ColeDCrawford", - "contributions": [ - "code", - "review", - "test" - ] - }, { "login": "rlskoeser", "name": "Rebecca Sutton Koeser", "avatar_url": "https://avatars.githubusercontent.com/u/691231?v=4", - "profile": "http://rlskoeser.github.io", - "contributions": [ - "code", - "review", - "test" - ] - }, - { - "login": "robcast", - "name": "Robert Casties", - "avatar_url": "https://avatars.githubusercontent.com/u/1488847?v=4", - "profile": "https://github.com/robcast", + "profile": "http://rlskoeser.github.io/", "contributions": [ - "data" - ] - }, - { - "login": "jdamerow", - "name": "Julia Damerow", - "avatar_url": "https://avatars.githubusercontent.com/u/8881141?v=4", - "profile": "https://github.com/jdamerow", - "contributions": [ - "code", - "review", - "test", - "eventOrganizing" - ] - }, - { - "login": "maltevogl", - "name": "Malte Vogl", - "avatar_url": "https://avatars.githubusercontent.com/u/20907912?v=4", - "profile": "https://github.com/maltevogl", - "contributions": [ - "code", - "review", - "test", - "doc" + "blog" ] } ], "contributorsPerLine": 7, - "skipCi": true, - "repoType": "github", - "repoHost": "https://github.com", - "projectName": "hackathon-2022", - "projectOwner": "dh-tech" + "linkToUsage": true } diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml new file mode 100644 index 0000000..bdaab28 --- /dev/null +++ b/.github/workflows/python-publish.yml @@ -0,0 +1,39 @@ +# This workflow will upload a Python Package using Twine when a release is created +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Upload Python Package + +on: + release: + types: [published] + +permissions: + contents: read + +jobs: + deploy: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install build + - name: Build package + run: python -m build + - name: Publish package + uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/.gitignore b/.gitignore index 0406c69..31599aa 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,7 @@ wheels/ .installed.cfg *.egg MANIFEST +docs/_build/ # Environments .tox diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..672b526 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,6 @@ +# Change Log + +## 0.1 + +Pre-alpha version with preliminary `Undate` and `UndateInterval` classes +with support for ISO8601 date format diff --git a/README.md b/README.md index 9b8e0e4..0b47282 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,21 @@ # undate-python + +[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-) + + +**undate** is a python library for working with uncertain or partially known dates. + +It was initially created as part of a [DH-Tech](https://dh-tech.github.io/) hackathon in November 2022. -`undate` is a python library for working with uncertain or partially known dates. +--- + +⚠️ **WARNING:** this is pre-alpha software and is **NOT** feature complete! Use with caution. ⚠️ + +--- -It was initially created as part of a DH-Tech hackathon in November 2022. [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) +[![Documentation Status](https://readthedocs.org/projects/undate-python/badge/?version=latest)](https://undate-python.readthedocs.io/en/latest/?badge=latest) [![unit tests](https://github.com/dh-tech/undate-python/actions/workflows/unit_tests.yml/badge.svg)](https://github.com/dh-tech/undate-python/actions/workflows/unit_tests.yml) [![codecov](https://codecov.io/gh/dh-tech/undate-python/branch/main/graph/badge.svg?token=GE7HZE8C9D)](https://codecov.io/gh/dh-tech/undate-python) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) @@ -12,15 +23,24 @@ It was initially created as part of a DH-Tech hackathon in November 2022. [![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-) +## Documentation + +Project documentation is available on ReadTheDocs https://undate-python.readthedocs.io/en/latest/ + ## License This software is licensed under the [Apache 2.0 License](LICENSE.md). ## Installation +To install the most recent release from PyPI: +```sh +pip install undate +``` + To install the latest development version from GitHub: ```sh -pip install git+https://github.com/dh-tech/undate-python.git@main#egg=undate +pip install git+https://github.com/dh-tech/undate-python.git@develop#egg=undate ``` To install a specific release or branch, run the following (replace `[tag-name]` with the tag or branch you want to install): @@ -90,6 +110,29 @@ tox -e docs + + + + + + + + + + + +
Rebecca Sutton Koeser
Rebecca Sutton Koeser

📝
+ + Add your contributions + +
+ + + + + + + diff --git a/docs/conf.py b/docs/conf.py index 5e9ca6b..2185873 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -17,14 +17,14 @@ # -- Project information ----------------------------------------------------- -project = 'Undate' -copyright = '2022, DHtech' -author = 'DHtech Community' +project = "Undate" +copyright = "2022, DHtech" +author = "DHtech Community" # The full version, including alpha/beta/rc tags -release = '0.0.1.dev' +release = "0.0.1.dev" -master_doc = 'index' +master_doc = "index" # -- General configuration --------------------------------------------------- @@ -32,19 +32,15 @@ # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = [ - 'sphinx.ext.autodoc', - 'sphinx.ext.intersphinx', - 'm2r2' -] +extensions = ["sphinx.ext.autodoc", "sphinx.ext.intersphinx", "m2r2"] # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +templates_path = ["_templates"] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] +exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] source_suffix = [".rst", ".md"] @@ -53,11 +49,11 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = 'sphinx_rtd_theme' +html_theme = "sphinx_rtd_theme" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] +html_static_path = ["_static"] -html_logo = '_static/logo.png' +html_logo = "_static/logo.png" diff --git a/docs/index.rst b/docs/index.rst index 52acdca..e01b84d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,7 +1,7 @@ Undate documentation ==================== -This project ... +**undate** is a python library for working with uncertain or partially known dates. .. toctree:: diff --git a/setup.cfg b/setup.cfg index b1dca43..8d04412 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,17 +1,17 @@ [metadata] name = undate version = attr: undate.__version__ -author = 'DHTech' -author_email = 'dhtech.community@gmail.com' -description = "library for working with uncertain, fuzzy, or " - + "partially unknown dates and date intervals" +author = DHTech +author_email = "dhtech.community@gmail.com" +description = "library for working with uncertain, fuzzy, or partially unknown dates and date intervals" long_description = file: README.md -license="Apache License, Version 2.0", +license="Apache License, Version 2.0" long_description_content_type = text/markdown url = https://github.com/dh-tech/undate-python project_urls = - Project Home = https://dh-tech.github.io + Project Home = https://github.com/dh-tech/undate-python Bug Tracker = https://github.com/dh-tech/undate-python/issues +keywords = "dates dating uncertainty uncertain-dates unknown partially-known digital-humanities" classifiers = Development Status :: 2 - Pre-Alpha Programming Language :: Python :: 3 @@ -51,6 +51,7 @@ dev = tox twine wheel + build %(docs)s test = pytest>=7.2 @@ -83,7 +84,6 @@ testpaths = [testenv] deps = - {[options.extras_require]test} -e ./[test] commands = pytest {posargs} @@ -95,7 +95,7 @@ commands = [testenv:coverage] deps = - {[options.extras_require]test} + -e ./[test] commands = pytest --cov=./ --cov-report=xml @@ -105,6 +105,5 @@ description = invoke sphinx-build to build the HTML docs basepython = python3.10 deps = -e ./[docs] - {[options.extras_require]docs} commands = sphinx-build -d "{toxworkdir}/docs_doctree" docs "{toxworkdir}/docs_out" --color -W -bhtml {posargs} python -c 'import pathlib; print("documentation available under file://\{0\}".format(pathlib.Path(r"{toxworkdir}") / "docs_out" / "index.html"))' diff --git a/src/undate/__init__.py b/src/undate/__init__.py index a664584..fa831be 100644 --- a/src/undate/__init__.py +++ b/src/undate/__init__.py @@ -1 +1 @@ -__version__ = "0.1.0.dev" +__version__ = "0.2.0-dev" diff --git a/src/undate/dateformat/iso8601.py b/src/undate/dateformat/iso8601.py index 5bf9896..22aff07 100644 --- a/src/undate/dateformat/iso8601.py +++ b/src/undate/dateformat/iso8601.py @@ -4,7 +4,6 @@ class ISO8601DateFormat(BaseDateFormat): - # NOTE: do we care about validation? could use regex # but maybe be permissive, warn if invalid but we can parse