Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable py311 support #2

Closed
wants to merge 252 commits into from
Closed

Enable py311 support #2

wants to merge 252 commits into from

Conversation

ssbarnea
Copy link
Owner

  • Log the error message when git clone fails, not just the return code (Log the error message when git clone fails, not just the return code cookiecutter/cookiecutter#1505)
  • fixes prompting private rendered dicts (fixes prompting private rendered dicts cookiecutter/cookiecutter#1504)
  • pre-commit: add bandit hook
  • add safety ci step
  • Force click<8.0.0
  • ensure filesystem isolation during tests execution
  • remove redundant passenv
  • Run drafter only on master releases
  • Adopt setuptools-scm packaging
  • Add missing period (Add missing period cookiecutter/cookiecutter#1574)
  • Add support for click 8.x (Add support for click 8.x cookiecutter/cookiecutter#1569)
  • Enable branch coverage (enable branch coverage cookiecutter/cookiecutter#1542)
  • Expand cli documentation relating to the no-input flag (Improve --no-input documentation cookiecutter/cookiecutter#1543)
  • Move contributors and backers to credits section
  • Improve docstrings of the no_input flag
  • Ignore OSX-generated files
  • Markdown corrections:
  • Don't run tests on Python 3.6 or PyPy anymore.
  • Update Black target version from py36 to py39
  • Correct linting
  • Forced re-run of PR CI
  • Comment out doc8 to see if it is the issue with GHCI
  • Test to see if Black is failing
  • Add no-verify agument to pre-commit hooks
  • Upgrade black
  • Comment out black so the PR can proceed
  • Run pre-commit linting
  • Update CONTRIBUTING.md
  • Get python version from version_info tuple
  • Update HISTORY.md
  • Bump version number to 2.0.1
  • Added test for version_msg
  • Use f strings and add Python 3.10 CI environments
  • Prints the whole sys.version string
  • Removed python_version_test
  • Fixed linting errors
  • Removed changes related to setuptools_scm
  • Fixed flake8 section in setup.cfg
  • Release 2.0.2
  • Update 2.0.2 release notes
  • Feature/local extensions (Feature/local extensions cookiecutter/cookiecutter#1240)
  • Restore accidentally deleted support for click 8.x (Restore accidentally deleted support for click 8.x cookiecutter/cookiecutter#1643)
  • Update badge & links from Slack to Discord in README (Update badge & links from Slack to Discord in README cookiecutter/cookiecutter#1612)
  • Improve local development step 3 (Improve local development step 3 cookiecutter/cookiecutter#1610)
  • test_generate_file_verbose_template_syntax_error fixed Fixes test_generate_file_verbose_template_syntax_error fails with ./ difference in path  cookiecutter/cookiecutter#1655 - relative path that comes directly from Jinja2 TemplateSyntaxError in some cases is in format "./tests/..." in other "tests/... now both cases are accepted as a valid outcome.
  • Remove redundant comparison
  • Fix black incompatibility with click 8.1.0 version
  • Add Audrey Roy Greenfeld as creator and leader
  • Update README.md
  • Fixed incorrect link on docs. (Fixed incorrect link on docs. cookiecutter/cookiecutter#1649)
  • Documentation overhaul.
  • better naming in generated API docs
  • update troove classifiers, version and required python version
  • Documentation overhaul (2)
  • housekeeping: run pyupgrade to find remaining py27 artifacts
  • Documentation overhaul (3)
  • Fix typo in dict_variables.rst
  • Add Jens and Érico to the list of core contributors
  • Follow PyPA guide to release package using GitHub Actions.
  • exists under docs, is enough
  • Explicitly use GitHub Actions environment
  • add check-manifest to pre-commit and fix Manifest.in
  • bump version and edit historie
  • [Docs] Fix local extensions documentation
  • Bump version to 2.1.1.dev0
  • Sanitize Mercurial branch information before checkout.
  • Lint fixes
  • Add CLI option to keep project files on failure. Fixes add CLI option not to delete files on failure cookiecutter/cookiecutter#1631
  • Prepare release 2.1.1
  • Back to development
  • Improve Docs Readability
  • fixes wrong (renamed) repository owner for cookiecutter-pypackage
  • More renames
  • update Docs for Create a Cookiecutter From Scratch
  • Fix spaces for linting
  • Replace jinja.pocoo.org to https://jinja.palletsprojects.com/en
  • Fix @audreyr to @audreyfeldroy
  • Fix LICENSE years
  • support partially overwrite keys in nested dict
  • fixed the override not working with copy only dir
  • remove the blank line after the docstring
  • add extra check for the overwrite_if_exists flag
  • added the function doc for skip_if_file_exists
  • fixed the exception test case
  • Update cookiecutter/prompt.py
  • add test
  • generate: introduces templates inheritance
  • Fix linting in Added: Templates inheritance cookiecutter/cookiecutter#1485
  • Update docs/advanced/templates.rst
  • Update docs/advanced/templates.rst
  • Add boolean variable support
  • Fix code to follow Code Climate suggestions
  • Update docs/advanced/boolean_variables.rst
  • Fix release-drafter template typo. Closes CI/CD: Fix typo in release-drafter template cookiecutter/cookiecutter#1699
  • Add autolabeler support for workflow
  • Add version resolver to release-drafter
  • Add autolabeler to release-drafter
  • Configure notes sorting in release-drafter
  • Extend tests requirements
  • Add nox configuration
  • Fix codeblock style (failed docs build)
  • Add sphinx-autobuild for nox correct run CI/CD: Docs watchmedo -> sphinx-autobuild cookiecutter/cookiecutter#1698
  • Added readthedocs build config
  • Use latest ubuntu for builds
  • Update sphinx requirements
  • Fix myst broken links
  • Update sphinx configuration
  • remove versions from template, to exclude dependabot warnings
  • Exclude versions from tests
  • Update pre-commit config
  • Remove unneeded shebangs to fix pre-commit issues
  • Remove unused sphinx files
  • Add nox files to gitignore
  • Replace not windows supported sed with nox workflow and template
  • Whatch all codebase for changes in docs
  • Extend makefile with new clean options
  • Replace lint in makefile
  • Fix typo in filename
  • Replace tox make steps with nox
  • Update documentation workflow to use nox
  • Update github actions major versions
  • Github Actions: Tox with Nox replace + Safety check for all python versions
  • Use python 3.10 for deploy to pip
  • Fix codeclimate version
  • Simplify github actions matrix definition
  • Rename release-drafter yml to exclude IDE known formats warning
  • Rename main workflow to tests workflow
  • Move documentation workflow to main tests workflow to see all on one screen
  • Attempt to fix design problems on read the docs
  • Update boolean_variables.rst
  • Update boolean_variables.rst
  • Fix CI/CD for first time contributors
  • Update documentation intersphinx_mapping to external sources
  • Update list of directories for looking for files changes in interactive documentation build
  • Extend read_user_yes_no docstrings
  • Finalize Boolean Variables documentation update (rst)
  • Fix Python code block
  • Replace strings methods with f-string (tests)
  • Simplify 'if' block in utils tests
  • Remove meaningless test statement (test_jinja2_uuid_extension)
  • Tests: Use pathlib for files read/write (test_cli.py)
  • Tests: Use pathlib for files read/write (test_hooks.py)
  • Tests: Use pathlib for files read/write (test_utils.py)
  • Tests: Use pathlib for files read/write (test_unzip.py)
  • Tests: Use pathlib for files read/write (test_templates.py)
  • Tests: Use pathlib for files read/write (test_generate_file.py)
  • Tests: Use pathlib for files read/write (test_generate_files.py)
  • Tests: Use pathlib for files read/write (test_generate_hooks.py)
  • Tests: Use pathlib for files read/write (test_output_folder.py)
  • Tests: Use pathlib for files read/write (test_default_extensions.py)
  • Tests: Use pathlib for files read/write (test_cookiecutter_local_no_input.py)
  • Tests: Use pathlib for files read/write (test_custom_extensions_in_hooks.py)
  • Tests: Use pathlib for files read/write (test_generate_copy_without_render.py)
  • Tests: Use pathlib for files read/write (test_generate_copy_without_render_override.py)
  • Tests: Use pathlib for files read/write (test_determine_repo_dir_finds_existing_cookiecutter.py)
  • Tests: Use pathlib for files read/write (test_determine_repo_dir_finds_existing_cookiecutter.py)
  • Tests: Use pathlib read_text/write_text (test_cli.py)
  • Tests: Use pathlib read_text/write_text (test_utils.py)
  • Tests: Use pathlib read_text/write_text with encoding (test_templates.py)
  • Tests: Use pathlib read_text/write_text (test_hooks.py)
  • Tests: Use pathlib read_text/write_text (test_output_folder.py)
  • Tests: Use pathlib read_text/write_text with encoding (test_default_extensions.py)
  • Tests: Use pathlib read_text/write_text (test_generate_copy_without_render.py)
  • Tests: Use pathlib read_text/write_text (test_generate_copy_without_render_override.py)
  • Tests: Use pathlib read_text/write_text with encoding (test_generate_file.py)
  • Tests: Use pathlib read_text/write_text with encoding (test_generate_files.py)
  • Tests: Use pathlib read_text/write_text with encoding(test_custom_extensions_in_hooks.py)
  • Tests: Use pathlib read_text/write_text (test_cookiecutter_local_no_input.py)
  • Convert 'format' usage to f-strings (cli.py)
  • Convert 'format' usage to f-strings (generate.py)
  • Convert 'format' usage to f-strings (prompt.py)
  • Convert 'format' usage to f-strings (utils.py)
  • Convert 'format' usage to f-strings (zipfile.py)
  • Remove encoding (test_templates.py)
  • Fix encoding typo (test_custom_extensions_in_hooks.py)
  • Use touch instead of open('w') (test_determine_repo_dir_finds_existing_cookiecutter.py)
  • Use touch instead of open('w') (test_determine_repo_dir_finds_subdirectories.py)
  • Include caused exception details on reraise (PEP 3134) (environment.py)
  • Include caused exception details on reraise (PEP 3134) (generate.py)
  • Include caused exception details on reraise (PEP 3134) (hooks.py)
  • Include caused exception details on reraise (PEP 3134) (vcs.py)
  • Include caused exception details on reraise (PEP 3134) (prompt.py)
  • Fix not closed files handlers
  • Extend sphinx config with type annotations from typehints
  • Find refactored and type annotated
  • Update findpath tests
  • Compatibility fix
  • Simplify make_sure_path_exists function
  • Type annotate vcs.clone function
  • Remove strings from vcs.clone tests
  • Move OSError raising out of replay.dump (raise in make_sure_path_exists)
  • Type annotate generate.render_and_create_dir for correct passing to make_sure_path_exists
  • Type annotate zipfile.unzip
  • Update make_sure_path_exists tests
  • Fix exception text
  • Update cookiecutter/utils.py
  • Easy PR! Fix typos and add minor doc updates (Easy PR! Fix typos and add minor doc updates cookiecutter/cookiecutter#1741)
  • Remove universal bdist_wheel option; use "python -m build" (Remove universal bdist_wheel option; use "python -m build" cookiecutter/cookiecutter#1739)
  • docs: fix simple typo, shat -> that (docs: fix simple typo, shat -> that cookiecutter/cookiecutter#1749)
  • Fixed minor typos in docs (Fixed minor typos in docs cookiecutter/cookiecutter#1753)
  • feat: Add resolved template repository path as _repo_dir to the context (feat: Add resolved template repository path as _repo_dir to the context cookiecutter/cookiecutter#1771)
  • Enable py311 support

simobasso and others added 30 commits May 13, 2021 00:04
Remove direct dependency on markupsafe
…_commit_hook

pre-commit: add bandit hook
…ironment

ensure filesystem isolation during tests execution
…se_drafter

Make release-drafter diff only between master releases
* Make read_user_dict compatible with click 8.x

The `read_user_dict` function uses a "default" sentinel instead of the actual
default value. Being a JSON dict, the latter would often be hard to type.

Under click 8.x, the default value for `click.prompt` is passed to the
`read_proc` callback. We use this callback to load JSON from the user input, and
this would choke on an input like "default" (without quotes). Therefore, change
the callback to return the default value when it receives the "default"
sentinel.

Under click 7.x (which is our minimum version), the default value for
`click.prompt` is returned as-is. Therefore, continue to handle the case where
`click.prompt` returns "default" instead of the actual default value, but only
if we're actually running under click 7.x.

(Checking for click 7.x is only done for clarity. Under click 8.x,
`click.prompt` would never return "default", even if a user entered it as a
valid JSON string. This is because our callback requires a dict, not a string.)

* test: Expect read_user_dict to call click.prompt with partial object

Previously, tests for `read_user_dict` expected `process_json` to be passed to
click.prompt directly. Instead, we now pass an instance of `functools.partial`,
so adapt the mock to reflect that.

* test: Avoid mocking `click.prompt` when testing defaults

Do not mock `click.prompt` when testing that `read_user_dict` returns the proper
default value (rather than the sentinel "default"). Mocking `click.prompt`
prevents our callback from running, and under click >= 8.0 we process the
sentinel in the callback. Instead, use `click.testing.CliRunner` to fake
standard input.

* test: Adapt regression test for default handling

Expect `json.loads` not to be called with the sentinel ("default"). Previously,
the test expected `process_json` not to be called, but under click >= 8.0 that
is now where we handle the sentinel.

* Update dependencies for click 8.x
* Add test cases for untested branches

* Add branches coverage

Branch coverage helps to find out untested branches.

Closes: cookiecutter#1541
- Name corrections for @audreyfeldroy and @pydanny
- Run Prettier on Markdown files
- Resolves GitHub check failures due to GitHub no longer supporting those environments on Mac OSX.
- Python 3.6 is in maintenance status *security* with EOL in 2 months.
- PyPy was last updated to Python 3.8, which is outdated.
- Update Black version
- Use Black python target of Python 3.9

Co-authored-by: Daniel Roy Greenfeld <[email protected]>
insspb and others added 28 commits June 8, 2022 18:02
Code quality: Core files: Added exception reason reraise when exception class changed (PEP 3134)
…ests-use-pathlib

Code quality: Tests upgrade: Use pathlib for files read/write
Co-authored-by: Jens W. Klein <[email protected]>
Code quality: find.py refactored and type annotated
…re_path_exists_and_related_code

Code quality: utils.make_sure_path_exists refactored and type annotated
There is a small typo in docs/conf.py.

Should read `that` rather than `shat`.
…xt (cookiecutter#1771)

* Changes to cookiecutter/main.py:
* Add resolved template repository path as _repo_dir to the context

* Changes to tests/test_cli.py:
* corrected test test_echo_undefined_variable_error to check for new context item _repo_dir

Co-authored-by: Thomas Meckel <[email protected]>
- enable py311 pipelines
- expose py311 support in metadata
@ssbarnea ssbarnea closed this Sep 19, 2022
@ssbarnea ssbarnea deleted the chore/py311 branch September 19, 2022 10:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet