Docs
Unreleased⚓︎
2.1.0 (2024-04-17)⚓︎
Feat⚓︎
- add basedpyright
Fix⚓︎
- exclude plantuml package 1.10.0
Refactor⚓︎
- replace filter with iterator
2.0.4 (2024-01-31)⚓︎
Fix⚓︎
- add –doc-sub-dir for Code Tag generation without copier-answers
- create the code tag summary directory if it doesn’t already exist
2.0.3 (2023-11-21)⚓︎
Fix⚓︎
- pin a recent version of virtualenv for Python 3.12 + Nox
2.0.2 (2023-11-08)⚓︎
Refactor⚓︎
- copier-auto-update
2.0.1 (2023-09-08)⚓︎
Fix⚓︎
- add missing setuptools for some mkdocs dependencies
- add calcipy-docs and restore missing extras for type checking
- add scoped ‘calcipy-test’
Refactor⚓︎
- really move nox
- use ruff.external to allow list flake8 rules
2.0.0 (2023-09-02)⚓︎
Feat⚓︎
- drop Python 3.8
Fix⚓︎
- specify a unique name when binding new kwargs
1.6.4 (2023-08-28)⚓︎
Fix⚓︎
- update pyrate-limiter
Refactor⚓︎
- address pydantic v2 migration warnings
1.6.3 (2023-08-13)⚓︎
Fix⚓︎
- remove redundant beartype to lru_cache
Refactor⚓︎
- resolve asdf
- tried get_env_vars
1.6.2 (2023-08-12)⚓︎
1.6.1rc0 (2023-08-12)⚓︎
Fix⚓︎
- support partial kwargs for pre/post
- defer Task to support decorator chaining
Refactor⚓︎
- setup for deferred task refactor
- update dependency versions
- update copier for a more generic environment variable
1.6.0 (2023-07-23)⚓︎
Feat⚓︎
- experiment with griffe for version bumping
Fix⚓︎
- resolve minor bugs in griffe experiment
- remove dependency on flake8-beartype
Refactor⚓︎
- downgrade replacement machine error to warning
1.5.0 (2023-07-22)⚓︎
Feat⚓︎
- add configurable ignore patterns for tags
Refactor⚓︎
- resolve pylint warnings
- run bump-pydantic
1.4.2 (2023-07-16)⚓︎
Fix⚓︎
- use the correct exclude rule for semgrep
- support pydantic v2 serialization
- skip SemGrep rule to pin GitHub Actions to commit IDs
Refactor⚓︎
- resolve local test suite problems
1.4.1 (2023-07-07)⚓︎
Fix⚓︎
- retrieve only unique python versions from .tool-versions
1.4.0 (2023-06-25)⚓︎
Feat⚓︎
- add calcipy-pack to use install-extras without the extras
Fix⚓︎
- show a readable warning when gh, pyright, and/or pre-commit are not installed
- use calcipy’s python environment when installed with pipx
1.3.0 (2023-06-21)⚓︎
Feat⚓︎
- switch to httpx for async requests
Perf⚓︎
- lazy cache compiling the regex
1.2.6 (2023-06-17)⚓︎
Fix⚓︎
- handle missing git remotes in code tag collection
- always re-cache packages if empty
- ignore new TD002 & TD003 linting rules
Refactor⚓︎
- try to handle exceptions when no git origin URL
1.2.5 (2023-05-23)⚓︎
Fix⚓︎
- resolve typing and import errors
- upgrade to invoke 2.1.2
Refactor⚓︎
- suppress ruff autofix
1.2.4 (2023-05-16)⚓︎
Fix⚓︎
- add pack.install-extras
- bump minimum pymdown dependency
- pydantic alias doesn’t work like that
- refactor for higher pylint quality
- update the help string to include –keep-going
- support branch coverage
- move pyright to ‘main’ tasks
1.2.3 (2023-04-08)⚓︎
Fix⚓︎
- handle dev installs when only calcipy
1.2.2 (2023-04-08)⚓︎
Fix⚓︎
- add preview of –keep-going
Refactor⚓︎
- extract task logic from wrapper
1.2.1 (2023-04-07)⚓︎
Fix⚓︎
- skip assert_used in bandit
1.2.0 (2023-04-06)⚓︎
Feat⚓︎
- add test.check with duplicate name logic
Fix⚓︎
- remove lru_cache, which was causing mypy errors
1.1.1 (2023-04-06)⚓︎
Fix⚓︎
- resolve linting errors
- use copier copy
1.1.0 (2023-04-06)⚓︎
Feat⚓︎
- add experimental check duplicate test names
Fix⚓︎
- suppress unexpected exit errors in update docs
- skip pre-commit uninstall for doc.deploy when pre-commit not available
- skip pre-commit on doc.deploy
1.0.1 (2023-03-01)⚓︎
Fix⚓︎
- bump minimum ruff version
1.0.0 (2023-02-25)⚓︎
Fix⚓︎
- lower default logging level
1.0.0rc7 (2023-02-23)⚓︎
Feat⚓︎
- add lint.security to pre-commit lint-fix hook
Fix⚓︎
- remove types hook, which doesn’t work when not local
Refactor⚓︎
- make task summary optional
- configure start program inline
1.0.0rc6 (2023-02-22)⚓︎
Fix⚓︎
- provide subcommands to support pre-commit
1.0.0rc5 (2023-02-22)⚓︎
Feat⚓︎
- add pre-commit hooks and update docs
Fix⚓︎
- handle KeyError when not yet on PyPi’s JSON API
Refactor⚓︎
- sync with corallium ruff and remove flake8 class-attr-order
1.0.0rc4 (2023-02-22)⚓︎
Fix⚓︎
- fully support nox and corallium
1.0.0rc3 (2023-02-22)⚓︎
Fix⚓︎
- add depedency on corallium
1.0.0rc2 (2023-02-21)⚓︎
Feat⚓︎
- merge shoal source code into calcipy
1.0.0rc1 (2023-02-21)⚓︎
Fix⚓︎
- upgrade shoal dependency and add summary
- add pylint to document
- move autopep8 to the lint extras
1.0.0rc0 (2023-02-20)⚓︎
Feat⚓︎
- fully support working-dir by wrapping ctx.run
- recursively find the tool versions file
- add dont_skip for testing
- add tests for code tag collector
- replace dg with user configuration file
- better support min-cover
- unit test write_autoformatted_md_sections
- start using check_imports
- support prereleases and add autopep8
- introduce cl namespace
- run lint on file_args and use absolufy
- add initial version of doc namespace
- remove pre-commit; add doc and ddict extras
- add progress indicator to tasks
- add lint.security
- add ./run to generlize local entrypoint
- add lint.pre-commit
- restore most of noxfile
- run mypy-silent and add main task
- use can_skip for the package_lock file
- start manually fixing lint issues
- add linting
- migrate over stale package logic
- add pyright, mypy, and DEFAULTS
- add write_json and cached pyproject reader
- add pytest-based tasks and first unit tests
- experiment with parallel processing
- init placeholders for new namespaces
- add can_skip
- add initial nox task to invoke
- switch to invoke
- start restoring files and switching to shoal
- add shoal
Fix⚓︎
- correct ignore pattern logic and expand task tests
- get doc and cl tasks working
- code tag summary and rename default tasks
- properly map CLI arguments to code tag collector
- show all URLs on the same line in CTC
- write Code Tags to docs/docs
- resolve issues with test.watch-json
Refactor⚓︎
- update Progress task
- extract use_pty to a default in shoal
- generlize find_in_parents for pyproject.toml as well
- introduce logger.print and print_debug
- drop absolufy-imports task
- simplify configuration
- fix remaining pyright and flake8 errors
- rename write-json to coverage
- resolve pylint issues
- reorder main tasks
- resolve flake8 warnings and better manage filenames
- apply autopep8 to fix whitespace issues
- import initialized logger directly
- try to wrap running tasks programmatically…
- run prc main
- move log configuration to shoal.cli.task
- resolve typecheck errors
- manually resolve additional linting errors
- make lint.check default
- extract start program to shoal
- another round of manual lint corrections
- move can_skip to shoal
-
nest invoke-specific code in tasks/
-
drop pytest-html and conftest completely
0.21.6 (2023-01-31)⚓︎
Feat⚓︎
- use the –now flag for ptw!
Refactor⚓︎
- remove autoflake in favor of unimport
0.21.5 (2022-11-27)⚓︎
Fix⚓︎
- escape % in yaml files as well
0.21.4 (2022-11-20)⚓︎
Fix⚓︎
- handle % in path names for ctt
- suppress code tag failures when not a git directory
- add support for tomllib in Python 3.11!
Refactor⚓︎
- copier update
0.21.3 (2022-11-13)⚓︎
Fix⚓︎
- remove unimplemented diff-cover
- exit 1 on semgrep errors
0.21.2 (2022-11-12)⚓︎
Fix⚓︎
- add relative path prefix for linting ‘./’
- ensure that cz bump doesn’t break the requirements file
- bump minimum pip-check
0.21.1 (2022-11-05)⚓︎
Fix⚓︎
- install poetry for ‘doit publish’
- bump minimum mkdocs for deploy_docs
0.21.0 (2022-11-05)⚓︎
Feat⚓︎
- remove if-expr and other unnecessary new flake8 plugins
- merge extra flake8 packages based on flake8-aggressive
Fix⚓︎
- prevent line break in table for Code Tag summary
- add pdbr with rich to replace pdbpp
0.20.1 (2022-10-19)⚓︎
Fix⚓︎
- drop pdbpp and add flake8-fine-pytest
0.20.0 (2022-10-16)⚓︎
Feat⚓︎
- sign commitizen tags
- add plantuml generation to mkdocs
Fix⚓︎
- remove version conflict with flake8-simplify and cl_bump
0.19.1 (2022-10-13)⚓︎
Fix⚓︎
- don’t auto-install types
0.19.0 (2022-10-06)⚓︎
Feat⚓︎
- support optional logging of arguments
Fix⚓︎
- split mypy install from mypy run
0.18.0 (2022-09-27)⚓︎
Feat⚓︎
- support Arrow in pydantic and mypy (ArrowType was causing errors)
- remove pdoc(s) from document task
- add gen_ref_nav!
- tried pybetter, but too focused on adding all
- #102: sort-of-replace pdocs, but pdoc only shows one function
- add mypy install argument
- expand flake8 and reduce tests
Fix⚓︎
- re-run prdc
- lower fail-under for diff. Raise for regular test
- standardize on a single doit task list
- Pathlib.absolute is not documented. Use .resolve
Refactor⚓︎
- add type hints and minor changes for mypy
- make python files non-executable (chmod -x)
0.17.1 (2022-09-22)⚓︎
Fix⚓︎
- pytest cache assert circular reference
Refactor⚓︎
- move check_security from nox into doit
0.17.0 (2022-09-17)⚓︎
Feat⚓︎
- add docformat
- make pyupgrade flag configurable based on minimum python version
- replace pendulum with arrow
- update to latest copier
Fix⚓︎
- move yamllint configuration to project-specific config
- naive datetimes can’t be subtracted on Windows
- hack together a dictionary instead of punq
- drop safety because of false positives on Calcipy CalVer
Refactor⚓︎
- experiment with custom semgrep rules
- formalize solution from last commit
- try to fix punq by switching to functions
- fix one test, refactor a little, but punq is still not working
- begin replacing attrs with pydantic
- update semgrep nox task
- upgrade copier with linting fixes
0.16.0 (2022-08-04)⚓︎
Feat⚓︎
- add flake8-simplify
Fix⚓︎
- show only date in coverage table
0.15.0 (2022-08-03)⚓︎
Fix⚓︎
- resolve pyroma errors by installing poetry as a module
0.15.0rc0 (2022-07-24)⚓︎
Feat⚓︎
- init update workflow and toml sorter
- create script to bump toml minimum requirements
Fix⚓︎
- properly handle missing datetime
- try to use separate sqlite files for pre-commit and doit
- correct safety arguments
- use the unversioned API for releases
- try to handle pypi response when no “releases”
- handle prefix of “*”
- improve error message when “releases” not present
-
use sqlite3 for pre-commit concurrent doit access
-
bump Python to 3.8.4 and drop 3.7
0.14.5 (2022-03-05)⚓︎
Fix⚓︎
- #91: prevent minified files from appearing in Code Tag Summary
0.14.4 (2022-03-01)⚓︎
Fix⚓︎
- set upper limit to fix flake8-bandit compat
0.14.3 (2022-03-01)⚓︎
Fix⚓︎
- suppress only known git blame errors
- use Github tables to prevent multi-line rows in Code Tag Summary
0.14.2 (2022-02-27)⚓︎
Fix⚓︎
- don’t allow multi-line tables
0.14.1 (2022-02-27)⚓︎
Fix⚓︎
- lower pandas constraint for better 3.7 support
- drop generation of requirements.txt
0.14.0 (2022-02-27)⚓︎
Feat⚓︎
- use next-gen attrs syntax
- improve code tag regex
Fix⚓︎
- correct type annotations
- undo silent nox step
- make coverage.json optional for task_doc
0.13.0 (2022-02-23)⚓︎
Feat⚓︎
- drop AppVeyor and update with copier
- #67: initialize GH CI Action
Fix⚓︎
- drop appveyor from cz version files
- attempt to resolve UnicodeError on Windows action
- address more minor CI errors
- make yamllint more relaxed
- attempt to resolve CI issues
- remove diff-quality check until fixed for CI
- always use Interactive when using /dev/null
- run push hook stage and format subproject
- support Python 3.7.12
- don’t suppress nox missing interpreter errors
Refactor⚓︎
- pre-commit can be run in one command
- resolve LGTM error
0.12.2 (2022-02-21)⚓︎
Fix⚓︎
- skip cassette files
0.12.1 (2022-02-18)⚓︎
Fix⚓︎
- always return 0 to complete format task
- use short paths when formatting Python code if available
0.12.0 (2022-02-18)⚓︎
Feat⚓︎
- initialize calcipy pre-commit hook
0.11.0 (2022-02-18)⚓︎
Feat⚓︎
- don’t verify on cz_bump
Refactor⚓︎
- format fixes
- reduce noise on matched vulnerabilities
- make run_cmd public
- remove jsonlint action
- use beartype typing
- move pre-commit hooks into doit
0.10.0 (2022-01-19)⚓︎
Feat⚓︎
- create Github release if gh CLI is installed
0.9.1 (2022-01-17)⚓︎
Fix⚓︎
- correct code-tag-collector for CLI use
- use target file’s directory for git info
Refactor⚓︎
- drop template echo command
0.9.0 (2022-01-17)⚓︎
Feat⚓︎
- show code tag summary as a table
- add date of last blame to code tag summary
- only link code tag from line number
- use revision-specific commit hashes
- add git links to code tag summary
- add python format pre-commit hook
- add support for TOML formatting with taplo
Fix⚓︎
- handle “0000..” hash by using branch name
- handle non-git directories
- use correct line number for pinned hash
- handle git dependencies when checking stale packages
- use positional arguments for pre-commit commands
- correct syntax error in pre-commit command
Refactor⚓︎
- make slow python pre-commit push-only
- apply auto-format tools to test project
0.8.2 (2022-01-16)⚓︎
Fix⚓︎
- drop all references to CalVer
0.8.1 (2022-01-16)⚓︎
Refactor⚓︎
- drop tag_format and use semver-only
0.8.0 (2022-01-16)⚓︎
Feat⚓︎
- add pip-check for prettier outdated
- add cct command
- initialize the cement CLI application
- replace toml with tomli (#74)
- move wily to nox to reduce version conflicts
- add pip-audit
- add attrs_strict
- trim trailing whitespace from doc output
Fix⚓︎
- bump year to 2022
- code_tag_collector must return doit-compliant value (None)
- only run pre-commit once
- Code Tag Collector cannot return a Path for DoIt tasks
- cct was not being created as an alias. Use full command
- wily
- properly exclude auto-generated doc files from code tag collector
- run ptw on whole directory, not just test files
- drop FYI and NOTE from Code Tags
Refactor⚓︎
- fix PY-W2000 by using all
- move file_search to top-level
- just run pre-commit install
- replace pass with … to keep it from being removed
0.6.0rc2 (2022-08-04)⚓︎
Feat⚓︎
- drop pytest-cov and run coverage directly
Fix⚓︎
- swap pytest-watch(er) and other version bumps
- pin min-version (xenon) & drop preconvert and flake8-mock
0.6.0rc1 (2022-08-04)⚓︎
Fix⚓︎
- bug in noxfile and code tags reading doc output files
0.6.0rc0 (2022-08-04)⚓︎
Feat⚓︎
- implement pylint rules
- add xenon (wraps radon)
- condense doit output in show_cmd
- initial semgrep implementation
- add code diagrams to doc-site
- add notes on wily and pylint
- add vulture
- diff-quality (lint)
- add it
- add output if no stale packages found
- add autoflake
Fix⚓︎
- try to fix issues found with pytest_cache_assert
- drop unused Python2 demjson
- error in noxfile with poetry install
Refactor⚓︎
- decouple code tag collector from DG
- improve lint_py and the return type check is working
- zip release task
- cleanup a few minor errors
- use Interactive instead of Chrome
- apply fixes found from semgrep
- rename “wrappers” to “dot_dict”
- prevent mutation in DG.set_paths
0.3.1rc0 (2022-08-04)⚓︎
Feat⚓︎
- add task to zip artifacts from testing
- implement pandas.to_markdown for cov table
- #58: implement doc task and merge serve_docs
- make loading YAML files more generic
- create doit summary report
- add task to check license compliance
- move lock into doit tasks with file-dependency
- #38: re-implement coverage and write source
- drop subprocess-tee
- #36: WIP implementation of doc formatting
- implement publish tasks
- add pip outdated to stale check
- implement check for stale packages
- begin implementing stale package check
- smart default tasks for CI vs. local
- make nox imports optional
- try doit rather than CWD for initial path
- move noxfile into calcipy
- integrate nox to doit tasks
- WIP check for stale dep & placeholder publish
- add additional configuration options
- add nox tasks
- add detect-secrets as pre-commit
- lint non-Python files
- read doc_dir from copier file
- make most settings configurable
- added dotted-dict wrapper of Box
- delete old files rather than full directory
- filter with glob-like ignore_patterns (2/2)
- add security check task
- add skip_phrase for code tag skipping
- beartype - roar!
- optionally clear log directory. Move file_helpers from base
- new tail-like reverse read_lines
- rename DIG to DG because doit is one word
- retrieve doc_dir from copier
- add log-setup fun for doit
- make (source) doc_dir configurable
- add sanitizer
- add pytype
- #36: start WIP ReadMeMachine
- #36: merge logic of markdown auto-formatters
- make code tag partially configurable
- move check_types into calcipy
- import templates from pdocs
Fix⚓︎
- install full dev-dep as temporary nox workaround
- prevent committing changelog at base dir
- remove type_name from docstring for Google-style
- run pytest as a module for nox
- resolve doc_dir and style errors
- #58: remove None from pdocs output
- deconflict doit/nox
- repair failing test
- packaging needed keyword argument
- import and nox syntax errors
- run push pre-commit hooks with doit
- show log warning instead of error for stale dep
- improve output from check_stale
- errors caught in testing
- suppress beartype warnings for now
- drop logger middleware
- catch most calcipy section typos in toml
- remove check-secrets but keep snippets
- errors in ignore patterns
- import doit and expand nox test file
- skip tags must be at bottom
- reset Lint paths instead of extend
- use find_files for code tag summary
- don’t manually add the package source dir
- lint typing and improve tests
- create separate file_search file to fix imports
- #51: replace glob with git-based file identification
- #53: Use Interact instead of LongRunning
- undo PEP585 for runtime beartype
- resolve file explosion from _find_files
- import the loguru Logger class safely
- additional problems found with mypy
- fix Doit Types and start beartype
- add no-verify to cl_bump
- correct isort configuration
- restore ReadMeMachine
- repair small bugs found in tests
- make transitions optional
Refactor⚓︎
- see if only one space is okay for skipcq
- fix anti-pattern with nox session decorator and arg
- improve code quality
- try to suppress deepsource errors
- address DeepSource issues
- split up set_paths from DG
- fix formatting error from pre-push
- rename doc_dir to doc_sub_dir for clarity
- apply 0.0.10 template
- move markdown to subdirectory for mkdocs
- move isort back to toml
- fix edge case in diff-cov failing and lint errors
- relicense with MIT for better compliance
- create generic doit-runner for noxfile
- fix some type issues
- minor fixes from AppVeyor testing
- #38: reduce complexity
- minor cleanup to docs
- apply pre-commit autoformat
- auto-drop skipcq comment
- format with VSCode
- fix lint errors in YAML files
- move find file paths to DG.meta
- move if_found_unlink to file_helpers
- fix formatting with pre-commit
- fix attribute names for path types (1/2)
- use calcipy:skip-tags
- fix minor code tags
- move __temp_chdir and improve fix_dg
- narrow type ignore use
- use path_file of file_path
- apply auto-fixes from pre-commit
- replace all glob-search with find_files
- remove find_files from code_tag script
- update isort for trailing-comma
- move excluded lint rules to DG
- apply PEP585 and add pre-commit hook
- fix capitalization for doit (one word, all lowercase)
- improve activate_debug_logging
- try to replace Any with BaseAction
- apply 0.0.2 minor fixes
- apply 0.0.1 version of calcipy_template
- minor renaming for _MarkdownMachine
- fix lock file and line length
- run more pre-commit checks on commit
- standardize on code tags and cleanup
Perf⚓︎
- combine autopep8 paths into single command
- combine files for linting in one command
0.2.0a0 (2022-08-04)⚓︎
Feat⚓︎
- push tags with no pre-commit hooks on pre
- use Interactive instead of —yes for cl_bump*
- remove tag create/remove tasks
- new task cl_bump_pre
- replace MIT license with Unlicense
- use cz_legacy to generate changelogs
- remove task in anticipation of copier #26
- improve git pre-commit hooks
- new add-trailing-comma and pyupgrade hooks
- new mkdocs tasks and improvements
- new optional preconvert to serialize logs
- move logger configuration to log_helpers
- new cl_bump task. Closes #21
Fix⚓︎
- do not pass filenames to pre-commit
- #43: add year to version for pseudo-calver
- prevent legacy types for new commits
- prevent circular import in doit_tasks
- extras need to be defined as optional
- rollback hook changes as they are not working
- install hooks for push
- LongRunning passed tasks that should fail
- yesqa removed necessary noqa (H303, etc)
- incorrect output paths
- reduce false tags found (WIP). Fix #24
- regression in lint_project tasks
- unincremented version in toml
Refactor⚓︎
- #22: restore MIT license
- copy+paste unmodified labels workflow
- update local TODO notes
- make toml an optional import
- rename path_source to path_project
- rename DIG_CWD as PATH_TEST_PROJECT
- rename test file
- doit is lowercase (CC looks like Dolt)
- replace sh with subprocess-tee
- reduce excess logging
- move DOIT_CONFIG to import
- move dig test to dig test file
0.1.0 (2020-12-19)⚓︎
Feat⚓︎
- new write_cl task utilizing comittizen
- new task, pre_commit_hooks
Refactor⚓︎
- show STDOUT formatting in DoIt task
- remove archived code