The Pants Python source code lint tool.
Project description
Pants is an Apache2 licensed build tool written in Python.
The latest documentation can be found at pantsbuild.
1.25.x Stable Releases
This document describes releases leading up to the 1.25.x stable series.
The 1.25.x series brings two major changes to Pants:
Deprecating globs(), rglobs(), and zglobs() in BUILD files.
Adding file args.
Please see https://groups.google.com/forum/#!topic/pants-devel/3nmdSeyvwU0 for more information.
1.25.0 (03/12/2020)
The first stable release of the 1.25.x series, with no changes since the previous rc!
1.25.0rc1 (03/6/2020)
API Changes
Bugfixes
Compiler option sets can be lists or sets (#9182) PR #9182
Add non-jvm targets with classpath elements to exported modules as libraries. (#9084) PR #9084
Revert “Switch to dot idea project type (#8745)” (#9096) PR #9096
Re-pin pytest, and add a pin for zipp. (#9095) PR #9095
Fix deprecation warning for –transitive for goals that ignore the option (#9076) PR #9076
Trigger warning/error for deprecated Target method overrides. (#9073) PR #9073
Fix warnings filtering under pantsd. (#9121) PR #9121
Allow test specs to be used with –no-fast for junit (#9093) PR #9093
1.25.0rc0 (02/4/2020)
API Changes
Deprecate globs, rglobs, and zglobs (#9040) PR #9040
Deprecate –owner-of in favor of file arguments (#9050) PR #9050
Deprecate –build-file-imports defaulting to warn and having the option allow (#9047) PR #9047
Deprecate –glob-expansion-failure in favor of –files-not-found-behavior (#9022) PR #9022
[thrift linter] use non-zero exit on warning when strict and zero exit warning when not strict (#9051) PR #9051
New Features
Allow using file args with every goal (#9048) PR #9048
Add –owners-not-found-behavior option for when file args do not have any owning targets (#9068) PR #9068
Support python2 in the setup.py rule. (#8956) PR #8956
[IntelliJ] Add compiler options and plugins to the output of export-dep-as-jar (#9036) PR #9036
[IntelliJ] Add javac_options and extra_jvm_options to the output of export-dep-as-jar (#9053) PR #9053
Bugfixes
Refactoring, Improvements, and Tooling
Change invalid file args to error instead of warn (#9041) PR #9041
Preserve the filesystem spec used to find owning targets (#9063) PR #9063
Decouple –owner-of implementation from –changed-* (#9046) PR #9046
Remove deps from the core into the Python backend’s subsystems (#9049) PR #9049
Allow options to be registered passively. (#9061) PR #9061
Don’t show core goals like binary and test when they have no implementation (#9002) PR #9002
Remove origin check from release.sh script (#9042) PR #9042
Snapshot subset intrinsic (#9006) PR #9006
No longer use globs, rglobs, and zglobs internally (#9029) PR #9029
Stop using globs in testprojects/ (#9039) PR #9039
Make fix_deprecated_globs_usage.py more robust (#9067) PR #9067
Documentation
Update docs to use the new ! exclude syntax for BUILD files (#9037) PR #9037
1.25.0.dev3 (01/29/2020)
API Changes
Remove the generate-pants-ini goal. (#8993) PR #8993
Deprecate –fast option (#8970) PR #8970
Switch to dot idea project type (#8745) PR #8745
Deprecate defaulting to –transitive (#8955) PR #8955
Add IPython subsystem and deprecate –repl-py options (#8996) PR #8996
Register certain optional conditionally on v1/v2 setup. (#8997) PR #8997
New Features
Bugfixes
Ensure that every filesystem spec is valid (#9009) PR #9009
remove custom NodeResolveFingerprintStrategy (#8398) PR #8398
Removing the exception when setup_py task has no work to do. (#8620) PR #8620
Resolve v2 plugins. (#9020) PR #9020
Fix Outputting mixin for V2 goals (#9011) PR #9011
Fix non-deterministic ConsolidateClasspath (#9001) PR #9001
Fix validate and cloc2 breaking with targets with no sources (#9000) PR #9000
Fix rule type hint validation to work with from __future__ import annotations (#9004) PR #9004
correctly fingerprint scoverage options and copy output into dist/ (#8705) PR #8705
Restore support for dependencies outputting 3rdparty deps through new enum option (#8960) PR #8960
Set workunit parent IDs correctly (fixes #7969) (#8947) PR #8947
Refactoring, Improvements, and Tooling
Modify options parser to allow ! in file args (#9031) PR #9031
Refactor PathGlobs to support ! ignore globs in its constructor (#9032) PR #9032
Fix some clippy errors which will appear in 1.41.0 (#9027) PR #9027
Expand config_test.py to better define the Config API (#9021) PR #9021
Refactor engine/legacy/structs.py (#9023) PR #9023
Describe the origin of failure when globs do not match (#9013) PR #9013
Small improvements to release script (#8964) PR #8964
First usage of async-await (#9018) PR #9018
Refactor config.py to allow supporting possible future config file formats (#9014) PR #9014
Bump to Rust 1.40 (#9017) PR #9017
Improve unmatched globs error message (#9010) PR #9010
Improve error messages for rule graph issues (#8998) PR #8998
Add type hints to options.py, options_bootstrapper.py, and config.py (#8990) PR #8990
Move intrinsics code into new module (#8999) PR #8999
Change distribution lookup for JvmTask subclasses to call into JvmTask (#8938) PR #8938
Refactor –changed-include-dependees to use an Enum option (#8995) PR #8995
Allow for deprecation of child scopes (#8984) PR #8984
Testing
Fix Zipp 2.0 release breaking Python 2 integration tests (#8994) PR #8994
Documentation
Fix typo in in Python examples docs (#8987) PR #8987
1.25.0.dev2 (01/17/2020)
New Features
Add Bandit Python linter (#8929) PR #8929
API Changes
Refactoring, Improvements, and Tooling
Introduce SourcesSnapshot for goals that only need source files to operate (#8980) PR #8980
Tweak options parser to allow globs in filesystem specs (#8981) PR #8981
Gitignore the twine venv created when we run the release script. (#8966) PR #8966
Fix more typos (#8983) PR #8983
Add type hints to source/ (#8977) PR #8977
Add type hints to Address, Struct, TargetAdaptor, Parser, and HydratedTarget (#8967) PR #8967
Stop requesting AddressSpecs in @goal_rules (#8972) PR #8972
update maven artifact url (#8975) PR #8975
Use daemon thread (#8959) PR #8959
Add type hints to the setup of target roots (#8965) PR #8965
Port V2 python_test_runner.py integration tests to V2 style (#8924) PR #8924
1.25.0.dev1 (01/14/2020)
API Changes
New Features
Bugfixes
Refactoring, Improvements, and Tooling
Use f-strings in src/python/pants/pantsd/pailgun_server.py + fix typos in comments. (#8949) PR #8949
Add some type annotations to goal/ and auth/ (#8934) PR #8934
Use f-strings on src/python/pants/testutil and src/python/pants/util/ (#8950) PR #8950
Rename public Target methods to use address_spec instead of spec (#8944) PR #8944
Only compile non-module exports for export-dep-as-jar goal (#8914) PR #8914
Address some remaining issues with setup-py2. (#8927) PR #8927
Tweak the argument parser to allow file system specs (#8932) PR #8932
Share the local LMDB store to avoid creating one per test method. (#8933) PR #8933
Allow python_test_runner.py to get coverage for individual targets (#8910) PR #8910
Fix confusing error for an @console_rule not returning a Goal (#8931) PR #8931
Have handle_workunits callback use kwargs (#8918) PR #8918
Refactor options_test.py (#8906) PR #8906
Simplify ./pants test –debug requesting one single address (#8925) PR #8925
Stop adding our own colors to V2 test output (#8926) PR #8926
Update core test model to include coverage results (#8851) PR #8851
Use color in v2 pytest (#8901) PR #8901
Hotfix Specs rename conflicting with setup-py2 change (#8920) PR #8920
Prepare 1.24.0rc1. (#8919) PR #8919
Rename Spec to AddressSpec (#8916) PR #8916
Bump up deprecations for the 1.26 series to earlier in the 1.26 dev series (#8908) PR #8908
Add type hints to specs.py (#8913) PR #8913
Add experimental –fmt-only flag (#8911) PR #8911
Extract rule for preparing chrooted python sources (#8899) PR #8899
Add deprecated.resolve_conflicting_options to facilitate moving options (#8903) PR #8903
Add shell_str type to improve –args option support (#8904) PR #8904
Testing
Documentation
1.25.0.dev0 (01/06/2020)
API Changes
Deprecate –fmt-skip and –lint-skip (#8900) Issue #8346 PR #8900
Add –skip option to every linter/formatter subsystem (#8898) PR #8898
Add ESLint subsystem and deprecate node-distribution ESLint options (#8891) PR #8891
Add –black-skip, –isort-skip, and –flake8-skip (#8888) PR #8888
Deprecate running python-eval by default (#8889) PR #8889
Add scrooge-linter subsystem and deprecate lint-thrift options (#8894) PR #8894
Add checkstyle subsystem and deprecate –lint-checkstyle-configuration (#8896) PR #8896
Deprecate option.custom_types.dict_option and list_option (#8885) PR #8885
Add scalafix, scalafmt, and scalastyle subsystems and deprecate task-level config options (#8886) PR #8886
Stop using Java 6 and 7 internally (#8657) PR #8657
Bump default MyPy from 0.740 to 0.761 (#8866) PR #8866
Bugfixes
Use absolute path when running interactive process in tempdir (#8895) PR #8895
Fix ./pants lint2 for Black and isort (#8877) PR #8877 PR #8823
Provide input_files Digest to InteractiveRunner (#8855) PR #8855
Support enums when displaying option help choices (#8853) PR #8853
Hotfix MyPy not working on macOS due to type alias (#8887) PR #8887
Fix isort, Pytest, and MyPy options to be fingerprinted (#8871) PR #8871
Report a deprecation for the option name rather than for the dest. (#8856) PR #8856
Refactoring, Improvements, and Tooling
Use V2 isort internally (#8756) PR #8756
Refactor python_test_runner to use the new pex creation rule (#8852) PR #8852
Add type hints to option/ and subsystem/ (#8878) PR #8878
Replace deprecated assertRaisesRegexp with assertRaisesRegex (#8879) PR #8879
Remove deprecated –pytest-requirements, –pytest-timeout-requirements, –pytest-cov-requirements, and –pytest-unittest2-requirements (#8876) PR #8876
Partially type check remaining 250 files (#8875) PR #8875
Stop referencing Python 4 in Python interpreter constraints (#8867) PR #8867
Partially type check TestBase and 235 test files (#8874) PR #8874
Finish partially type checking all src code (#8865) PR #8865
Refactor option and subsystem tests (#8872) PR #8872
Type check build-support/bin/generate_travis_yml.py (#8868) PR #8868
Move option and subsystem tests from tests/python to src/python (#8870) PR #8870
make match() on Enum into a top-level function in meta.py (#8504) PR #8504
add SingleFileExecutable to make it easier to consume Snapshots of executables (#8860) PR #8860
improve ergonomics of checking for @union types with new @decorated_type_checkable decorator (#8496) PR #8496
Partially type check backend/native and 100 more files (#8864) PR #8864
Fix type hints for decorators in memo.py and meta.py (#8863) PR #8863
[IntelliJ] Export only modulizable targets when in export-dep-as-jar (#8812) PR #8812
Use raw strings to fix regex deprecation warnings (#8880) PR #8880
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 Distributions
Built Distribution
Hashes for pantsbuild.pants.contrib.python.checks.checker-1.25.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74ee3cff75285cac8aedd5e51216e9374da4567bb31aa202ec7883c4775de8a0 |
|
MD5 | 2005314291ca10a1f68fdd8328bfb31b |
|
BLAKE2b-256 | 8941582e4c3470b278d4f15480f891145a992924c4535a1f627ed56a064da468 |