diff --git a/cookiecutter.json b/cookiecutter.json index 5f4710e..13b831c 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -1,7 +1,8 @@ { "project_name": "ProjectName", - "repo_name": "{{ cookiecutter.project_name.lower().replace(' ', '_') }}", - "first_module_name": "{{ cookiecutter.repo_name.lower().replace(' ', '_') }}", + "repo_name": "{{ cookiecutter.project_name.lower().replace(' ', '_') }}", + "package_name": "{{ cookiecutter.repo_name.lower().replace(' ', '_').replace('-', '_') }}", + "first_module_name": "{{ cookiecutter.package_name }}", "author_name": "Your name (or your organization/company/team)", "author_email": "Your email (or your organization/company/team)", "description": "A short description of the project (less than one line).", diff --git a/hooks/pre_gen_project.py b/hooks/pre_gen_project.py index 4a69cad..62573cc 100644 --- a/hooks/pre_gen_project.py +++ b/hooks/pre_gen_project.py @@ -10,12 +10,12 @@ MODULE_REGEX = r'^[_a-zA-Z][_a-zA-Z0-9]+$' EMAIL_REGEX = r'[^@]+@[^@]+\.[^@]+' -repo_name = '{{ cookiecutter.repo_name }}' +package_name = '{{ cookiecutter.package_name }}' module_name = '{{ cookiecutter.first_module_name }}' author_email = '{{ cookiecutter.author_email }}' -for key in [repo_name, module_name]: +for key in [package_name, module_name]: if not re.match(MODULE_REGEX, key): print(key, re.match(MODULE_REGEX, key)) print('ERROR: "{}" is not a valid Python module name!'.format(key)) diff --git a/{{cookiecutter.repo_name}}/.gitattributes b/{{cookiecutter.repo_name}}/.gitattributes index bc5ae9e..9afde11 100644 --- a/{{cookiecutter.repo_name}}/.gitattributes +++ b/{{cookiecutter.repo_name}}/.gitattributes @@ -1 +1 @@ -{{cookiecutter.repo_name}}/_version.py export-subst +{{cookiecutter.package_name}}/_version.py export-subst diff --git a/{{cookiecutter.repo_name}}/.github/workflows/CI.yaml b/{{cookiecutter.repo_name}}/.github/workflows/CI.yaml index baf4a6c..0e66b9e 100644 --- a/{{cookiecutter.repo_name}}/.github/workflows/CI.yaml +++ b/{{cookiecutter.repo_name}}/.github/workflows/CI.yaml @@ -82,7 +82,7 @@ jobs: shell: bash -l {0} {%- endif %} run: | - pytest -v --cov={{ cookiecutter.repo_name }} --cov-report=xml --color=yes {{ cookiecutter.repo_name }}/tests/ + pytest -v --cov={{ cookiecutter.package_name }} --cov-report=xml --color=yes {{ cookiecutter.package_name }}/tests/ - name: CodeCov uses: codecov/codecov-action@v1 diff --git a/{{cookiecutter.repo_name}}/.lgtm.yml b/{{cookiecutter.repo_name}}/.lgtm.yml index d643827..0e67409 100644 --- a/{{cookiecutter.repo_name}}/.lgtm.yml +++ b/{{cookiecutter.repo_name}}/.lgtm.yml @@ -9,4 +9,4 @@ path_classifiers: - versioneer.py # Set Versioneer.py to an external "library" (3rd party code) - devtools/* generated: - - {{cookiecutter.repo_name}}/_version.py + - {{cookiecutter.package_name}}/_version.py diff --git a/{{cookiecutter.repo_name}}/docs/conf.py b/{{cookiecutter.repo_name}}/docs/conf.py index 34f653d..cec1992 100644 --- a/{{cookiecutter.repo_name}}/docs/conf.py +++ b/{{cookiecutter.repo_name}}/docs/conf.py @@ -17,7 +17,7 @@ import sys sys.path.insert(0, os.path.abspath('..')) -import {{cookiecutter.repo_name}} +import {{cookiecutter.package_name}} # -- Project information ----------------------------------------------------- diff --git a/{{cookiecutter.repo_name}}/pyproject.toml b/{{cookiecutter.repo_name}}/pyproject.toml index 8374868..766a275 100644 --- a/{{cookiecutter.repo_name}}/pyproject.toml +++ b/{{cookiecutter.repo_name}}/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta" # Self-descriptive entries which should always be present # https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ [project] -name = "{{cookiecutter.repo_name}}" +name = "{{cookiecutter.package_name}}" description = "{{cookiecutter.description}}" dynamic = ["version"] readme = "README.md" @@ -63,7 +63,7 @@ where = ["."] # Ref https://setuptools.pypa.io/en/latest/userguide/datafiles.html#package-data [tool.setuptools.package-data] -{{cookiecutter.repo_name}} = [ +{{cookiecutter.package_name}} = [ "py.typed" ] @@ -83,4 +83,4 @@ match = ["*"] default-tag = "1.0.0" [tool.versioningit.write] -file = "{{cookiecutter.repo_name}}/_version.py" +file = "{{cookiecutter.package_name}}/_version.py" diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/__init__.py b/{{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/__init__.py similarity index 100% rename from {{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/__init__.py rename to {{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/__init__.py diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/data/README.md b/{{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/data/README.md similarity index 100% rename from {{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/data/README.md rename to {{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/data/README.md diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/data/look_and_say.dat b/{{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/data/look_and_say.dat similarity index 100% rename from {{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/data/look_and_say.dat rename to {{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/data/look_and_say.dat diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/py.typed b/{{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/py.typed similarity index 100% rename from {{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/py.typed rename to {{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/py.typed diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/tests/__init__.py b/{{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/tests/__init__.py similarity index 100% rename from {{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/tests/__init__.py rename to {{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/tests/__init__.py diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/tests/test_{{cookiecutter.repo_name}}.py b/{{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/tests/test_{{cookiecutter.repo_name}}.py new file mode 100644 index 0000000..2e8d2cc --- /dev/null +++ b/{{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/tests/test_{{cookiecutter.repo_name}}.py @@ -0,0 +1,15 @@ +""" +Unit and regression test for the {{cookiecutter.package_name}} package. +""" + +# Import package, test suite, and other packages as needed +import sys + +import pytest + +import {{cookiecutter.package_name}} + + +def test_{{cookiecutter.package_name}}_imported(): + """Sample test, will always pass so long as import statement worked.""" + assert "{{cookiecutter.package_name}}" in sys.modules diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/{{cookiecutter.first_module_name}}.py b/{{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/{{cookiecutter.first_module_name}}.py similarity index 100% rename from {{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/{{cookiecutter.first_module_name}}.py rename to {{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/{{cookiecutter.first_module_name}}.py diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/tests/test_{{cookiecutter.repo_name}}.py b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/tests/test_{{cookiecutter.repo_name}}.py deleted file mode 100644 index d027984..0000000 --- a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/tests/test_{{cookiecutter.repo_name}}.py +++ /dev/null @@ -1,15 +0,0 @@ -""" -Unit and regression test for the {{cookiecutter.repo_name}} package. -""" - -# Import package, test suite, and other packages as needed -import sys - -import pytest - -import {{cookiecutter.repo_name}} - - -def test_{{cookiecutter.repo_name}}_imported(): - """Sample test, will always pass so long as import statement worked.""" - assert "{{cookiecutter.repo_name}}" in sys.modules