summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMario Corchero <mcorcherojim@bloomberg.net>2021-07-16 11:06:47 +0200
committerMario Corchero <mcorcherojim@bloomberg.net>2021-07-16 17:08:09 +0200
commitda9ecd07a257cb5d1c7bfa08459b1ccfcabe6d23 (patch)
tree20ce3bac3aaedb3695b299b243544b6284dc0011
parentb21555f3b6afd2a0c660293b21e19b32f1d4f50e (diff)
downloaddateutil-git-da9ecd07a257cb5d1c7bfa08459b1ccfcabe6d23.tar.gz
Move to src layout
Move the project to the src layout to ensure we are testing on the generated package rather than the checked out source tree.
-rw-r--r--.gitignore2
-rw-r--r--.readthedocs.yml11
-rw-r--r--MANIFEST.in2
-rw-r--r--azure-pipelines.yml2
-rwxr-xr-xci_tools/run_tz_master_env.sh4
-rw-r--r--dateutil/zoneinfo/dateutil-zoneinfo.tar.gzbin174394 -> 0 bytes
-rw-r--r--setup.cfg3
-rw-r--r--setup.py2
-rw-r--r--src/dateutil/__init__.py (renamed from dateutil/__init__.py)0
-rw-r--r--src/dateutil/_common.py (renamed from dateutil/_common.py)0
-rw-r--r--src/dateutil/easter.py (renamed from dateutil/easter.py)0
-rw-r--r--src/dateutil/parser/__init__.py (renamed from dateutil/parser/__init__.py)0
-rw-r--r--src/dateutil/parser/_parser.py (renamed from dateutil/parser/_parser.py)0
-rw-r--r--src/dateutil/parser/isoparser.py (renamed from dateutil/parser/isoparser.py)0
-rw-r--r--src/dateutil/relativedelta.py (renamed from dateutil/relativedelta.py)0
-rw-r--r--src/dateutil/rrule.py (renamed from dateutil/rrule.py)0
-rw-r--r--src/dateutil/test/__init__.py (renamed from dateutil/test/__init__.py)0
-rw-r--r--src/dateutil/test/_common.py (renamed from dateutil/test/_common.py)0
-rw-r--r--src/dateutil/test/conftest.py (renamed from dateutil/test/conftest.py)0
-rw-r--r--src/dateutil/test/property/test_isoparse_prop.py (renamed from dateutil/test/property/test_isoparse_prop.py)0
-rw-r--r--src/dateutil/test/property/test_parser_prop.py (renamed from dateutil/test/property/test_parser_prop.py)0
-rw-r--r--src/dateutil/test/property/test_tz_prop.py (renamed from dateutil/test/property/test_tz_prop.py)0
-rw-r--r--src/dateutil/test/test_easter.py (renamed from dateutil/test/test_easter.py)0
-rw-r--r--src/dateutil/test/test_import_star.py (renamed from dateutil/test/test_import_star.py)0
-rw-r--r--src/dateutil/test/test_imports.py (renamed from dateutil/test/test_imports.py)0
-rw-r--r--src/dateutil/test/test_internals.py (renamed from dateutil/test/test_internals.py)0
-rw-r--r--src/dateutil/test/test_isoparser.py (renamed from dateutil/test/test_isoparser.py)0
-rw-r--r--src/dateutil/test/test_parser.py (renamed from dateutil/test/test_parser.py)0
-rw-r--r--src/dateutil/test/test_relativedelta.py (renamed from dateutil/test/test_relativedelta.py)0
-rw-r--r--src/dateutil/test/test_rrule.py (renamed from dateutil/test/test_rrule.py)0
-rw-r--r--src/dateutil/test/test_tz.py (renamed from dateutil/test/test_tz.py)0
-rw-r--r--src/dateutil/test/test_utils.py (renamed from dateutil/test/test_utils.py)0
-rw-r--r--src/dateutil/tz/__init__.py (renamed from dateutil/tz/__init__.py)0
-rw-r--r--src/dateutil/tz/_common.py (renamed from dateutil/tz/_common.py)0
-rw-r--r--src/dateutil/tz/_factories.py (renamed from dateutil/tz/_factories.py)0
-rw-r--r--src/dateutil/tz/tz.py (renamed from dateutil/tz/tz.py)0
-rw-r--r--src/dateutil/tz/win.py (renamed from dateutil/tz/win.py)0
-rw-r--r--src/dateutil/tzwin.py (renamed from dateutil/tzwin.py)0
-rw-r--r--src/dateutil/utils.py (renamed from dateutil/utils.py)0
-rw-r--r--src/dateutil/zoneinfo/__init__.py (renamed from dateutil/zoneinfo/__init__.py)0
-rw-r--r--src/dateutil/zoneinfo/rebuild.py (renamed from dateutil/zoneinfo/rebuild.py)0
-rw-r--r--tox.ini8
-rw-r--r--updatezinfo.py9
43 files changed, 33 insertions, 10 deletions
diff --git a/.gitignore b/.gitignore
index ae11b69..3d3ea16 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,7 +17,7 @@ venv/
.hypothesis/
# Autogenerated version information
-dateutil/_version.py
+src/dateutil/_version.py
# Sphinx documentation
docs/_build/
diff --git a/.readthedocs.yml b/.readthedocs.yml
new file mode 100644
index 0000000..94b73cb
--- /dev/null
+++ b/.readthedocs.yml
@@ -0,0 +1,11 @@
+version: 2
+
+sphinx:
+ configuration: docs/conf.py
+
+python:
+ version: 3.8
+ install:
+ - method: pip
+ path: .
+ - requirements: docs/requirements-docs.txt
diff --git a/MANIFEST.in b/MANIFEST.in
index d4d9f32..8e120d9 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,4 +1,4 @@
include LICENSE NEWS zonefile_metadata.json updatezinfo.py pyproject.toml
-recursive-include dateutil/test *
+recursive-include src/dateutil/test *
global-exclude __pycache__
global-exclude *.py[co]
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index f972f85..096c4ff 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -65,7 +65,7 @@ steps:
- bash: |
if [[ $TOXENV == "py" ]]; then
./ci_tools/retry.sh python updatezinfo.py
- python -m tox -- dateutil/test --cov-config=tox.ini --cov=dateutil --junitxml=unittests/TEST-$(Agent.JobName).xml
+ python -m tox -- src/dateutil/test --cov-config=tox.ini --cov=dateutil --junitxml=unittests/TEST-$(Agent.JobName).xml
python -m tox -e coverage,codecov || true
else
python -m tox
diff --git a/ci_tools/run_tz_master_env.sh b/ci_tools/run_tz_master_env.sh
index 2765e62..373f80e 100755
--- a/ci_tools/run_tz_master_env.sh
+++ b/ci_tools/run_tz_master_env.sh
@@ -11,7 +11,7 @@ REPO_DIR=${2}
ORIG_DIR=$(pwd)
CITOOLS_DIR=$REPO_DIR/ci_tools
-REPO_TARBALL=${REPO_DIR}/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz
+REPO_TARBALL=${REPO_DIR}/src/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz
TMP_TARBALL=${TMP_DIR}/dateutil-zoneinfo.tar.gz
UPSTREAM_URL="https://github.com/eggert/tz.git"
@@ -93,5 +93,5 @@ ${CITOOLS_DIR}/make_zonefile_metadata.py \
python ${REPO_DIR}/updatezinfo.py $ZONEFILE_METADATA_NAME
# Run the tests
-python -m pytest ${REPO_DIR}/dateutil/test $EXTRA_TEST_ARGS
+python -m pytest ${REPO_DIR}/src/dateutil/test $EXTRA_TEST_ARGS
diff --git a/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz b/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz
deleted file mode 100644
index 524c48e..0000000
--- a/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz
+++ /dev/null
Binary files differ
diff --git a/setup.cfg b/setup.cfg
index 829aa99..ed48890 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -37,6 +37,8 @@ classifiers =
zip_safe = True
setup_requires = setuptools_scm
install_requires = six >= 1.5
+package_dir=
+ =src
python_requires = >=2.7, !=3.0.*, !=3.1.*, !=3.2.*
packages = find:
test_suite = dateutil.test
@@ -44,6 +46,7 @@ test_suite = dateutil.test
[options.packages.find]
exclude =
dateutil.test
+where=src
[options.package_data]
dateutil.zoneinfo = dateutil-zoneinfo.tar.gz
diff --git a/setup.py b/setup.py
index 70e476d..069514f 100644
--- a/setup.py
+++ b/setup.py
@@ -48,7 +48,7 @@ README = README() # NOQA
setup(
use_scm_version={
- 'write_to': 'dateutil/_version.py',
+ 'write_to': 'src/dateutil/_version.py',
},
## Needed since doctest not supported by PyPA.
long_description = README,
diff --git a/dateutil/__init__.py b/src/dateutil/__init__.py
index a2c19c0..a2c19c0 100644
--- a/dateutil/__init__.py
+++ b/src/dateutil/__init__.py
diff --git a/dateutil/_common.py b/src/dateutil/_common.py
index 4eb2659..4eb2659 100644
--- a/dateutil/_common.py
+++ b/src/dateutil/_common.py
diff --git a/dateutil/easter.py b/src/dateutil/easter.py
index f74d1f7..f74d1f7 100644
--- a/dateutil/easter.py
+++ b/src/dateutil/easter.py
diff --git a/dateutil/parser/__init__.py b/src/dateutil/parser/__init__.py
index d174b0e..d174b0e 100644
--- a/dateutil/parser/__init__.py
+++ b/src/dateutil/parser/__init__.py
diff --git a/dateutil/parser/_parser.py b/src/dateutil/parser/_parser.py
index 37d1663..37d1663 100644
--- a/dateutil/parser/_parser.py
+++ b/src/dateutil/parser/_parser.py
diff --git a/dateutil/parser/isoparser.py b/src/dateutil/parser/isoparser.py
index 5d7bee3..5d7bee3 100644
--- a/dateutil/parser/isoparser.py
+++ b/src/dateutil/parser/isoparser.py
diff --git a/dateutil/relativedelta.py b/src/dateutil/relativedelta.py
index a9e85f7..a9e85f7 100644
--- a/dateutil/relativedelta.py
+++ b/src/dateutil/relativedelta.py
diff --git a/dateutil/rrule.py b/src/dateutil/rrule.py
index 571a0d2..571a0d2 100644
--- a/dateutil/rrule.py
+++ b/src/dateutil/rrule.py
diff --git a/dateutil/test/__init__.py b/src/dateutil/test/__init__.py
index e69de29..e69de29 100644
--- a/dateutil/test/__init__.py
+++ b/src/dateutil/test/__init__.py
diff --git a/dateutil/test/_common.py b/src/dateutil/test/_common.py
index b8d2047..b8d2047 100644
--- a/dateutil/test/_common.py
+++ b/src/dateutil/test/_common.py
diff --git a/dateutil/test/conftest.py b/src/dateutil/test/conftest.py
index 78ed70a..78ed70a 100644
--- a/dateutil/test/conftest.py
+++ b/src/dateutil/test/conftest.py
diff --git a/dateutil/test/property/test_isoparse_prop.py b/src/dateutil/test/property/test_isoparse_prop.py
index f8e288f..f8e288f 100644
--- a/dateutil/test/property/test_isoparse_prop.py
+++ b/src/dateutil/test/property/test_isoparse_prop.py
diff --git a/dateutil/test/property/test_parser_prop.py b/src/dateutil/test/property/test_parser_prop.py
index fdfd171..fdfd171 100644
--- a/dateutil/test/property/test_parser_prop.py
+++ b/src/dateutil/test/property/test_parser_prop.py
diff --git a/dateutil/test/property/test_tz_prop.py b/src/dateutil/test/property/test_tz_prop.py
index ec6d271..ec6d271 100644
--- a/dateutil/test/property/test_tz_prop.py
+++ b/src/dateutil/test/property/test_tz_prop.py
diff --git a/dateutil/test/test_easter.py b/src/dateutil/test/test_easter.py
index cf2ec7f..cf2ec7f 100644
--- a/dateutil/test/test_easter.py
+++ b/src/dateutil/test/test_easter.py
diff --git a/dateutil/test/test_import_star.py b/src/dateutil/test/test_import_star.py
index 2fb7098..2fb7098 100644
--- a/dateutil/test/test_import_star.py
+++ b/src/dateutil/test/test_import_star.py
diff --git a/dateutil/test/test_imports.py b/src/dateutil/test/test_imports.py
index 7d0749e..7d0749e 100644
--- a/dateutil/test/test_imports.py
+++ b/src/dateutil/test/test_imports.py
diff --git a/dateutil/test/test_internals.py b/src/dateutil/test/test_internals.py
index 5308131..5308131 100644
--- a/dateutil/test/test_internals.py
+++ b/src/dateutil/test/test_internals.py
diff --git a/dateutil/test/test_isoparser.py b/src/dateutil/test/test_isoparser.py
index 35899ab..35899ab 100644
--- a/dateutil/test/test_isoparser.py
+++ b/src/dateutil/test/test_isoparser.py
diff --git a/dateutil/test/test_parser.py b/src/dateutil/test/test_parser.py
index 08a34da..08a34da 100644
--- a/dateutil/test/test_parser.py
+++ b/src/dateutil/test/test_parser.py
diff --git a/dateutil/test/test_relativedelta.py b/src/dateutil/test/test_relativedelta.py
index 1e5d170..1e5d170 100644
--- a/dateutil/test/test_relativedelta.py
+++ b/src/dateutil/test/test_relativedelta.py
diff --git a/dateutil/test/test_rrule.py b/src/dateutil/test/test_rrule.py
index 52673ec..52673ec 100644
--- a/dateutil/test/test_rrule.py
+++ b/src/dateutil/test/test_rrule.py
diff --git a/dateutil/test/test_tz.py b/src/dateutil/test/test_tz.py
index e5e4772..e5e4772 100644
--- a/dateutil/test/test_tz.py
+++ b/src/dateutil/test/test_tz.py
diff --git a/dateutil/test/test_utils.py b/src/dateutil/test/test_utils.py
index fe1bfdc..fe1bfdc 100644
--- a/dateutil/test/test_utils.py
+++ b/src/dateutil/test/test_utils.py
diff --git a/dateutil/tz/__init__.py b/src/dateutil/tz/__init__.py
index af1352c..af1352c 100644
--- a/dateutil/tz/__init__.py
+++ b/src/dateutil/tz/__init__.py
diff --git a/dateutil/tz/_common.py b/src/dateutil/tz/_common.py
index e6ac118..e6ac118 100644
--- a/dateutil/tz/_common.py
+++ b/src/dateutil/tz/_common.py
diff --git a/dateutil/tz/_factories.py b/src/dateutil/tz/_factories.py
index f8a6589..f8a6589 100644
--- a/dateutil/tz/_factories.py
+++ b/src/dateutil/tz/_factories.py
diff --git a/dateutil/tz/tz.py b/src/dateutil/tz/tz.py
index c67f56d..c67f56d 100644
--- a/dateutil/tz/tz.py
+++ b/src/dateutil/tz/tz.py
diff --git a/dateutil/tz/win.py b/src/dateutil/tz/win.py
index cde07ba..cde07ba 100644
--- a/dateutil/tz/win.py
+++ b/src/dateutil/tz/win.py
diff --git a/dateutil/tzwin.py b/src/dateutil/tzwin.py
index cebc673..cebc673 100644
--- a/dateutil/tzwin.py
+++ b/src/dateutil/tzwin.py
diff --git a/dateutil/utils.py b/src/dateutil/utils.py
index dd2d245..dd2d245 100644
--- a/dateutil/utils.py
+++ b/src/dateutil/utils.py
diff --git a/dateutil/zoneinfo/__init__.py b/src/dateutil/zoneinfo/__init__.py
index 34f11ad..34f11ad 100644
--- a/dateutil/zoneinfo/__init__.py
+++ b/src/dateutil/zoneinfo/__init__.py
diff --git a/dateutil/zoneinfo/rebuild.py b/src/dateutil/zoneinfo/rebuild.py
index 684c658..684c658 100644
--- a/dateutil/zoneinfo/rebuild.py
+++ b/src/dateutil/zoneinfo/rebuild.py
diff --git a/tox.ini b/tox.ini
index cdf8473..b2b52b2 100644
--- a/tox.ini
+++ b/tox.ini
@@ -22,14 +22,14 @@ deps =
description = run the unit tests with pytest under {basepython}
setenv = COVERAGE_FILE={toxworkdir}/.coverage.{envname}
passenv = DATEUTIL_MAY_CHANGE_TZ TOXENV CI TRAVIS TRAVIS_* APPVEYOR APPVEYOR_* CODECOV_* SYSTEM_* AGENT_* BUILD_* TF_BUILD
-commands = python -m pytest {posargs: "{toxinidir}/dateutil/test" "{toxinidir}/docs" --cov-config="{toxinidir}/tox.ini" --cov=dateutil}
+commands = python -m pytest {posargs: "{toxinidir}/src/dateutil/test" "{toxinidir}/docs" --cov-config="{toxinidir}/tox.ini" --cov=dateutil}
deps = -rrequirements-dev.txt
[testenv:py33]
description = run the unit tests with pytest under Python 3.3
setenv = COVERAGE_FILE={toxworkdir}/.coverage.{envname}
passenv = DATEUTIL_MAY_CHANGE_TZ TOXENV CI TRAVIS TRAVIS_* APPVEYOR APPVEYOR_* CODECOV_* SYSTEM_* AGENT_* BUILD_* TF_BUILD
-commands = python -m pytest {posargs: "{toxinidir}/dateutil/test" "{toxinidir}/docs" --cov-config="{toxinidir}/tox.ini" --cov=dateutil}
+commands = python -m pytest {posargs: "{toxinidir}/src/dateutil/test" "{toxinidir}/docs" --cov-config="{toxinidir}/tox.ini" --cov=dateutil}
deps =
-rrequirements/3.3/requirements-dev.txt
-crequirements/3.3/constraints.txt
@@ -80,8 +80,8 @@ description = invoke sphinx-build to build the HTML docs, check that URIs are va
basepython = python3.6
deps = -r docs/requirements-docs.txt
{[testenv]deps}
-commands = sphinx-build -d "{toxworkdir}/docs_doctree" docs "{toxworkdir}/docs_out" {posargs:-W --color -bhtml}
- sphinx-build -d "{toxworkdir}/docs_doctree" docs "{toxworkdir}/docs_out" {posargs:-W --color -blinkcheck}
+commands = python -m sphinx -d "{toxworkdir}/docs_doctree" docs "{toxworkdir}/docs_out" {posargs:-W --color -bhtml}
+ python -m sphinx -d "{toxworkdir}/docs_doctree" docs "{toxworkdir}/docs_out" {posargs:-W --color -blinkcheck}
python setup.py check -r -s
diff --git a/updatezinfo.py b/updatezinfo.py
index 1edf2e1..bba53d5 100644
--- a/updatezinfo.py
+++ b/updatezinfo.py
@@ -7,6 +7,15 @@ import io
from six.moves.urllib import request
from six.moves.urllib import error as urllib_error
+try:
+ import dateutil
+except ImportError:
+ print("dateutil not installed locally, adding src to Python path")
+ import sys
+ here = os.path.dirname(__file__)
+ sys.path.append(os.path.join(here, "src"))
+ print(sys.path)
+
from dateutil.zoneinfo import rebuild
METADATA_FILE = "zonefile_metadata.json"