Epidemiological weeks based on the CDC (MMWR) and ISO week numbering systems.
Project description
A Python package to calculate epidemiological weeks using the CDC (MMWR) and ISO week numbering systems.
Features
Support for both the CDC (MMWR) and ISO week numbering systems.
Accurate and tested calculations.
Intuitive, clean, and easy-to-use interface.
Calculation of the start and end dates of weeks.
Iteration of year’s weeks or week’s dates.
Rich comparison between weeks.
Logical operations for weeks (addition, subtraction and containment).
Validation of input data.
Works on Python 3.6+ with zero dependencies.
Thoroughly tested on all supported Python versions.
Installation
$ pip install -U epiweeks
Basic Usage
from epiweeks import Week, Year
week = Week(2019, 1)
print(week.enddate())
# 2019-01-05
for week in Year(2019).iterweeks():
print(week.enddate())
# 2019-01-05
# 2019-01-12
# ...
# 2019-12-21
# 2019-12-28
Online Tool
The following is a simple online tool that was developed to calculate epidemiological weeks (CDC system only) using the latest version of this package:
Documentation
Please see https://epiweeks.readthedocs.io/ for full documentation of this package, including overview, more usage examples and API reference.
Contributing
Contributions are welcome! See CONTRIBUTING.rst for more info.
License
This package is distributed under an MIT license. See LICENSE.
Change Log
2.1.1
Fixed some typos.
Improved documentation.
2.1.0
Changed the parameter method, which sets how the weeks are numbered, to system for better clarity and intuitive usage.
Updated documentation and unit tests.
Other minor fixes and enhancements.
2.0.0
Dropped support for Python 3.5.
Added fromstring() classmethod to allow constructing the Week object from a formatted string, for example ‘2019W08’ or ‘201908’.
Added cdcformat() method to return a formatted string like the one used by US CDC for epi weeks, for example for week 8 of 2019 it returns ‘201908’.
Added daydate() method to return the date of specific weekday for a week.
Changed the optional value ‘WHO’ of the parameter method to ‘ISO’.
Changed the fromdate() classmethod of Week object to accept a date object as an argument instead of year, month, and day.
Made the Week and Year objects hashable.
Improved rich comparison methods.
Improved input data validation.
Updated and improved documentation examples.
Updated unit tests.
Other minor fixes and enhancements.
1.0.0
First release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file epiweeks-2.1.1.tar.gz
.
File metadata
- Download URL: epiweeks-2.1.1.tar.gz
- Upload date:
- Size: 22.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a743419b5345e700675a490ec2a5aa88bc814ad78acb5194c8532771b40847c |
|
MD5 | 94d50ed154f593b0865b61f420a8c40c |
|
BLAKE2b-256 | ad6d7322911acec0ec42ebfe1dd8533a4ae52e293f98dd18486f90e920df1297 |
File details
Details for the file epiweeks-2.1.1-py3-none-any.whl
.
File metadata
- Download URL: epiweeks-2.1.1-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bb1b6c04885a6298f7641d616e12efadf9f6d65a30fc411384f0338179ac213 |
|
MD5 | 53546c7a7c9951c5167398a9685887c8 |
|
BLAKE2b-256 | e118da5907bd3733975f9b6b93ad4d26fd4730a6c0ea60abd887769217d50717 |