https://github.com/romnn/datemore
useful extensions around the python builtin datetime package.
https://github.com/romnn/datemore
datetime extension python utility
Last synced: 7 months ago
JSON representation
useful extensions around the python builtin datetime package.
- Host: GitHub
- URL: https://github.com/romnn/datemore
- Owner: romnn
- License: mit
- Created: 2020-02-02T03:26:00.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T07:45:09.000Z (about 3 years ago)
- Last Synced: 2025-06-09T20:02:12.304Z (7 months ago)
- Topics: datetime, extension, python, utility
- Language: Python
- Homepage:
- Size: 494 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
Awesome Lists containing this project
README
===============================
datemore
===============================
.. image:: https://github.com/romnn/datemore/workflows/test/badge.svg
:target: https://github.com/romnn/datemore/actions
:alt: Build Status
.. image:: https://img.shields.io/pypi/v/datemore.svg
:target: https://pypi.python.org/pypi/datemore
:alt: PyPI version
.. image:: https://img.shields.io/github/license/romnn/datemore
:target: https://github.com/romnn/datemore
:alt: License
.. image:: https://codecov.io/gh/romnn/datemore/branch/master/graph/badge.svg
:target: https://codecov.io/gh/romnn/datemore
:alt: Test Coverage
""""""""
This is a small python package that wraps useful extension helper methods
around the standard library ``datetime`` package.
.. code-block:: console
$ pip install datemore
This package extends ``date`` and ``datetime`` objects with
useful methods for:
- Localizing ``date`` and ``datetime`` objects
- Adding and subtracting
- Generating date ranges
- Mocking (you cannot mock builtins, so why not use this library in the first place :wink:)
Example:
.. code-block:: python
import datemore.date
sunday = datemore.date.Date(2020, 2, 2)
tuesday = sunday.add_days(2)
passed_days = sunday.range_to(tuesday)
tuesday.native() # Get the native datetime.date object
Do you want to add new extensions? Go ahead!
Contributions are welcome, have a look at `CONTRIBUTING `_.
Development
-----------
For detailed instructions see `CONTRIBUTING `_.
Tests
~~~~~~~
You can run tests with
.. code-block:: console
$ invoke test
$ invoke test --min-coverage=90 # Fail when code coverage is below 90%
$ invoke type-check # Run mypy type checks
Linting and formatting
~~~~~~~~~~~~~~~~~~~~~~~~
Lint and format the code with
.. code-block:: console
$ invoke format
$ invoke lint
All of this happens when you run ``invoke pre-commit``.
Note
-----
This project is still in the alpha stage and should not be considered production ready.