Additional python lints and checks.
Project description
Pants is an Apache2 licensed build tool written in Python.
The latest documentation can be found at pantsbuild.
1.27.x Stable Releases
This document describes releases leading up to the 1.27.x stable series.
The 1.27.x series deprecates several unused backends and plugins. Please see https://groups.google.com/forum/#!topic/pants-devel/ngMZRIJvwHM for more information.
1.27.0 (5/20/2020)
The first stable release in the 1.27.x series, with no changes since the previous release candidate!
1.27.0rc2 (5/15/2020)
API Changes
Deprecate, instead of error, when Python targets have non-Python sources (#9752) PR #9752
Bugfixes
Fix Target API bindings not loading for plugins (#9789) PR #9789
1.27.0rc1 (5/7/2020)
Bugfixes
Fix crash when V2 goals like repl have no specified targets (#9673) PR #9673
Temporarily disable ./pants backends goal due to bug (#9629) PR #9629
Fix zip_safe field not being used with V2 binary (#9598) PR #9598
Fix typo in V1 Python interpreter selection error message (#9589) PR #9589
Revert allowing Python targets to include .c files in their sources (#9583) PR #9583
1.27.0rc0 (4/17/2020)
API Changes
New Features
More flexible binary and run rules. (#9529) PR #9529
Bugfixes
Don’t report diagnostics for cached targets (#9492) PR #9492
Add link back to source control dir from physical workdir (#9531) PR #9531
Fix V2 binary still using the current platform when platforms is specified (#9563) Issue #957 PR #9563
Propagate the owners_not_found_behavior to FilesystemSpec expansion. (#9551) PR #9551
[junit-runner] simplify fail fast (#9403) PR #9403
Fix workdir symlink’s destination/physical dir not always created (#9504) PR #9504
Refactoring, Improvements, and Tooling
Add rules to determine if configurations or targets have non-empty sources (#9521) PR #9521
Allow target_types2 register.py entry point to register new symbols (#9558) PR #9558
Remove several unused TargetAdaptor utility rules (#9569) PR #9569
Remove the fork_context method and support code. (#9554) PR #9554
Convert repl goal to the new Targets API (#9565) PR #9565
Port V2 Pytest Coverage to use the Target API (#9556) PR #9556
Remove unused HydratedTargetWithOrigin (#9553) PR #9553
Port setup-py2 to use the Target API (#9547) PR #9547
Some refactoring in EngineDisplay (#9546) PR #9546
Remove unused TargetAdaptorWithOrigin (#9544) PR #9544
Drop normpath comparison, the vast majority of which is covered by the other checks. (#9538) PR #9538
Port V2 fmt and lint to use Target API (#9537) PR #9537
Rename ExecuteProcessRequest to Process and ExecuteProcessResult to ProcessResult (#9535) PR #9535
Factor out a util function to parse a requirement constraint. (#9533) PR #9533
Utilities to create subsystem instances. (#9528) PR #9528
Convert RankedValue int ranks to Enum. (#9526) PR #9526
Add PantsdRunContext context to pantsd tests (#9518) PR #9518
Refactor V2 Pytest Coverage implementation (#9549) PR #9549
Testing
Documentation
Prepare 1.26.0rc2. (#9550) PR #9550
1.27.0.dev3 (4/13/2020)
API Changes
Deprecate source in favor of sources (#9471) PR #9471
Deprecate unused backends (#9512) PR #9512
Deprecate unused plugins (#9508) PR #9508
Remove broken indices and repos fields from python_binary (#9497) PR #9497
Delay deprecation of lint.pythonstyle and V1 isort to 1.28.0.dev0 (#9503) PR #9503
Upgrade to pex 2.1.9. (#9489) PR #9489
Update node.js dependencies. (#9474) PR #9474
New Features
Add ./pants backends to list all available backend packages (#9468) PR #9468
Add –pants-use-gitignore option (#9310) PR #9310
Wire up python-repos options to V2 Pex usage (#9495) PR #9495
Port dependencies2 to use the Target API and to work with JARs (#9494) PR #9494
Add a flag to prevent the FsEventService and watchman from starting (#9487) PR #9487
Add respect strict dep option for export-dep-as-jar (#9482) PR #9482
Bugfixes
Refactoring, Improvements, and Tooling
Add a mypy plugin to support @total_ordering. (#9525) PR #9525
Allow intrinsics to have multiple input arguments (#9527) PR #9527
Port the fs crate(s) to async-await (#9473) PR #9473
Bump to grpcio 0.5.1. (#9470) PR #9470
Bump to tokio 0.2.16. (#9467) PR #9467
Revert “Bump to tokio 0.2.16. (#9467)” (#9477) PR #9477
Rename CreatePex to PexRequest and add Target API support (#9480) PR #9480
Rename ChrootedPythonSources to ImportablePythonSources and add Target API support (#9479) PR #9479
Attach a description to PexRequests. (#9523) PR #9523
Add ScalarField and SequenceField templates (#9465) PR #9465
Allow Sources subclasses to specify the # of expected files (#9466) PR #9466
Fix targets that do not have a dependencies field with the Target API (#9481) PR #9481
Don’t show V1 bindings when exclusively using V2 (#9511) PR #9511
Port AWS Lambda (V1 and V2) to use the Target API (#9491) PR #9491
Port ./v2 test to use the Target API (#9484) PR #9484
Add Target API bindings for python_dist, python_requirement_library, and unpacked_whls (#9475) PR #9475
Add Target API bindings for backend/codegen and backend/docgen (#9486) PR #9486
Add Target API bindings for python_app and jvm_app (#9490) PR #9490
Add Target API bindings for pants-plugins (#9488) PR #9488
Avoid needless instantiation of LocalPantsRunner (#9501) PR #9501
Revert “Avoid needless instantiation of LocalPantsRunner (#9450)” (#9499) PR #9499
Avoid needless instantiation of LocalPantsRunner (#9450) PR #9450
Add some type annotations to pantsd test helpers (#9517) PR #9517
Move the WorkUnitStore to a thread/task local (#9522) PR #9522
Avoid recomputing a BuildFileAddress when subclassing will do. (#9472) PR #9472
Do not mix platforms and interpreter constraints while building release pexes (#9515) PR #9515
Distinguish pex sources from additional input files. (#9514) PR #9514
Build PEX files in two steps. (#9516) PR #9516
Leverage PEX_ROOT for Pex CLI. (#9513) PR #9513
Create @named_rule`s and add additional annotations to rules (#9453) `PR #9453
[IDE] Precompute flattened dependencies for modulizable targets (#9311) PR #9311
Reorder commit hooks by stack depth. (#9524) PR #9524
Improve CI skips in git commit hooks (#9496) PR #9496
Add convert_source_to_sources.py script to help users migrate away from deprecated source field (#9309) PR #9309
Testing
Fix test that depends on a Python stdlib line number (#9493) PR #9493
1.27.0.dev2 (4/3/2020)
API Changes
New Features
Make the list of JS lintable extensions configurable (#9423) PR #9423
Improve formatting of ./pants help (#9411) PR #9411
Improve formatting of ./pants goals and ./pants target-types2 (#9414) PR #9414
Improve formatting of target-types2 –details (#9410) PR #9410
Implement Cobertura output option for #9275 (#9325) PR #9325
Add notify fs watcher to engine. (#9318) PR #9318
Pass all python_binary fields to V2 binary and run (#9449) PR #9449
Add list-v2 to work with the Target API (#9433) PR #9433
Port filedeps2 to use the Target API and add the missing –transitive option (#9459) PR #9459
Bugfixes
Fix equality and hashing of engine.Collection (#9437) PR #9437
fix accidentally double-registering setuptools for ipex (#9341) PR #9341
fix –tag filtering when a TargetAdaptor has None for the ‘tags’ kwarg (#9443) PR #9443
Eliminate PEX_ROOT warning for CreatePex. (#9418) PR #9418
Don’t rerun uncachable nodes if they are dirtied while running. (#9452) PR #9452
Ignore notify events for pants_ignore patterns. (#9406) PR #9406
Refactoring, Improvements, and Tooling
Provide better TypeError in extern_identify hash failure (#9430) PR #9430
Allow a StringField to require one of several choices (enum) (#9461) PR #9461
Formalize marking fields as required (must be defined in the BUILD file) (#9392) PR #9392
Add DictStringToStringField and DictStringToStringSequenceField field templates (#9455) PR #9455
Add support for getting the direct and transitive dependencies of a Target (#9440) PR #9440
Fallback in target-types2 to the docstring from parent Fields when not available (#9404) PR #9404
Add Target API bindings for contrib/cpp and backend/native (#9445) PR #9445
Add Target API bindings for backend/jvm (#9460) PR #9460
Add Target API bindings for contrib/node and contrib/scalajs (#9447) PR #9447
Add Target API bindings for contrib/go (#9444) PR #9444
Add Target API bindings for build_graph target types (#9425) PR #9425
Store the Filespec on the Sources field (#9458) PR #9458
Remove unused JarDependency parameter. (#9457) PR #9457
Remove unused variables from _register_rules (#9432) PR #9432
Fix misleading comment. (#9424) PR #9424
Testing
Use GlobMatchErrorBehavior.error in TestBase (#9456) PR #9456
Cache native_engine.so in AWS in CI to avoid unnecessary Rust compilation (#9413) PR #9413
Store CI objects in S3 based on lifetime. (#9438) PR #9438
Refactor CI bootstrap shards setup to prepare for caching native_engine.so (#9409) PR #9409
Fix uploading native_engine.so to AWS too many times in CI (#9451) PR #9451
Move Build Wheels shards lower in CI order (#9383) PR #9383
Skip 2 flaky tests and bump 2 test timeouts (#9422) PR #9422
Skip flaky artifact cache and RSC compile tests (#9439) PR #9439
Skip flaky TestArtifactCache test. (#9427) PR #9427
Skip flaky TestPantsDaemonIntegration test. (#9421) PR #9421
Skip flaky PytestRunTimeoutIntegrationTest test. (#9442) PR #9442
break up flaky python integration tests that keep timing out (#9408) PR #9408
Fix incorrect guidance for running fmt. (#9419) PR #9419
1.27.0.dev1 (3/26/2020)
API Changes
New Features
Visualize the rule graph for @goal_rules. (#9377) PR #9377
Add ./pants targets-types2 goal (#9376) PR #9376
Plumb Pants log level to PEX_VERBOSE in v2. (#9328) PR #9328
Report warnings and errors to reporting server for JVM targets (#9293) PR #9293
Support opening coverage reports. (#9323) PR #9323
Add Cobertura output option for Scoverage (#9275) PR #9275
Add support for pytest-cov console reports. (#9302) PR #9302
Bugfixes
Fix use of pid (#9400) PR #9400
Use pants_workdir global option in run goal (#9381) PR #9381
Make roots goal work with the buildroot. (#9378) PR #9378
Change google maven mirror url (#9352) PR #9352
Fix PathGlobs to be deterministic for more cache hits (#9347) PR #9347
don’t match the interpreter patch version for .ipex files! (#9285) PR #9285
A newtype for the requirements.txt file dep. (#9307) PR #9307
[jvm] use LUB when reusing cached dists; add breadcrumbs to Location (#9274) PR #9274
Revision: ensure that 1 < 1.0.1; reformat test cases to use bare asserts (#9290) PR #9290
Refactoring, Improvements, and Tooling
Filter sources when creating a pex. (#9405) PR #9405
Make DaemonPantsRunner a dataclass (#9382) PR #9382
Improve output of target-types2 goal (#9390) PR #9390
Remove custom properties from nailgun (#9389) PR #9389
Revert internally enforcing Flake8’s E231 trailing comma lint (#9387) PR #9387
Improve console output of binary and awslambda goals. (#9375) PR #9375
Formalize default values for Fields (#9384) PR #9384
Hotfix lint failure due to PR merge order conflict (#9385) PR #9385
Internally enable Flake8 lints for is None, is False/True, and not in (#9379) PR #9379
Add FrozenDict as an immutable wrapper around native dictionaries (#9366) PR #9366
Move verification of configs out of OptionsBootstrapper (#9369) PR #9369
Additional refactoring around pants initialization (#9368) PR #9368
Enable E231 lint internally to check for bad trailing commas (#9364) PR #9364
Refactor code pertaining to pants initialization (#9348) PR #9348
Change the workunit description for requirement pex creation. (#9370) PR #9370
Port to tokio 0.2, and to stdlib futures for fs and task_executor (#9071) PR #9071
Add light-weight logic to Compatibility, Timeout, and Coverage Python fields (#9355) PR #9355
Use V2 Flake8 internally instead of pants.contrib.python.checks (#9308) PR #9308
Add runtime type checking to Fields (#9353) PR #9353
Allow @goal_rule`s to request `Targets and demo with ./v2 binary run (#9345) PR #9345
Move the global level option to an Enum. (#9327) PR #9327
Update to latest num_enum (#9344) PR #9344
Allow using Target API Field`s with `determine_source_files.py (#9342) PR #9342
Make LocalPantsRunner a dataclass (#9339) PR #9339
Change Target to have a similar interface to dict[t] and dict.get(t) (#9340) PR #9340
Allow registering new target types with the Target API (#9334) PR #9334
Allow stripping source roots from a Sources field (#9335) PR #9335
Add some type-checking around PantsDaemon (#9336) PR #9336
Minor follow up for 9259 (#9333) PR #9333
Add Target.class_has_field (#9329) PR #9329
Demonstrate use of the Target API with python_create_binary.py (#9316) PR #9316
Add Target.has_field() as sugar for Target.has_fields() (#9314) PR #9314
Add support for hydrating sources with the Target API (#9306) PR #9306
Testing
Skip flaky RscCompileIntegrationYoutline test. (#9398) PR #9398
Skip all flaky tests with GitHub issues. (#9391) PR #9391
Skip Rust tests and JVM tests in CI when no respective changes were made (#9367) PR #9367
Fix flaky pantsd test. (#9363) PR #9363
Fix CI running for Jar publish commits (#9322) PR #9322
Documentation
1.27.0.dev0 (3/14/2020)
API Changes
Upgrade to pex 2.1.6. (#9255) PR #9255
Remove deprecated pants.backend.python files moved to pants.python (#9238) PR #9238
Remove deprecated –target-spec-file and –positional-arg-file in favor of –spec-file (#9237) PR #9237
Remove deprecated –owner-of in favor of file arguments (#9235) PR #9235
Remove deprecated –dependencies-internal-only and –dependencies-external-only (#9258) PR #9258
Remove deprecated –fmt-skip and –lint-skip (#9254) PR #9254
Revert removing –test-fast and delay the removal from 1.27.0.dev0 to 1.28.0.dev0 (#9251) PR #9251
Revert “Load the bootstrapped zinc compiler from the zinc server’s classpath. (#8753)” (#9226) PR #9226
Stop defaulting to –transitive and remove the option when it no-ops (#9236) PR #9236
Remove –glob-expansion-failure and deprecate –files-not-found-behavior=ignore (#9242) PR #9242
Remove –test-fast to always have better test caching (#9241) PR #9241
Remove deprecated dict_option, list_option, and target_list_option (#9243) PR #9243
Deprecate –build-file-imports and remove its deprecated value allow (#9234) PR #9234
Remove deprecated fmt and lint task options moved to subsystem options (#9246) PR #9246
Deprecate V1 isort implementation in favor of improved V2 implementation (#9267) PR #9267
Remove support for globs(), rglobs(), and zglobs() (#9247) PR #9247
New Features
Add support for –dependencies-type=3rdparty to dependencies2 (#9225) PR #9225
introduce –generate-ipex to (v1) python binary creation to lazy-load requirements (#8793) PR #8793
[jvm] Add jvm_options to platform; use from junit and run (#9150) PR #9150
Enable zinc to log diagnostics for jvm languages (#9228) PR #9228
Rename fmt2 to fmt and lint2 to lint (#9257) PR #9257
Bugfixes
Switch to a dict-backed OrderedSet impl. (#9305) PR #9305
Prevent excessive uncached readlink’s when using a symlinked workdir (#9270) PR #9270
Fix interpreter constraints with V2 to AND multiple targets (#9265) PR #9265
Fix relative path in Zinc compiler (#9261) PR #9261
Fix V2 AWSLambda not being included in the pantsbuild.pants wheel (#9256) PR #9256
fixing scoverage sourcePath to be relative in OSS PR #9245
Refactoring, Improvements, and Tooling
Make Target API safe to use with the engine (#9303) PR #9303
Filter sources passed to the pytest invocation. (#9299) PR #9299
Make the platform a remote execution happened on available to @rule`s. (#9198) `PR #9198
Support build file aliases in v2. (#9279) PR #9279
Store Address on V2 Target and pass it to Field`s during validation (#9300) `PR #9300
Add PythonBinary, PythonLibrary, and PythonTests to the Target API (#9301) PR #9301
Move pants.source’s tests into src/python. (#9298) PR #9298
Improve setup_pytest_for_target concurrency. (#9283) PR #9283
Bump rust to 1.42 (#9297) PR #9297
Simplify PrimitiveField to eagerly hydrate values (#9296) PR #9296
Tweak how to add plugin fields to V2 targets to be more explicit (#9291) PR #9291
Zinc: Use an Array[PublishDiagnosticsParam] for LSP compliance (#9292) PR #9292
Change UnionMembership to use dict instead of OrderedDict (#9288) PR #9288
Allow subclassing Field`s for custom `Field behavior with the Target API (#9286) PR #9286
Redesign test.py to work with custom target types (#9276) PR #9276
Add core abstractions for the V2 Target API (#9284) PR #9284
create RequestsSession.Factory global subsystem, and use it to configure urllib3.util.Retry for http artifact cache downloads (#8568) PR #8568
Lmdb versioning (#9269) PR #9269
Remove stale service-shutdown comment, and log the error stacktrace. (#9272) PR #9272
Simplify sources code now that globs() is removed (#9263) PR #9263
Mute the path scrub warning when running from sources. (#9264) PR #9264
Remove leftover globs() code for bundles (#9262) PR #9262
Format zinc compiler with scalafmt (#9227) PR #9227
Revert “Update version of cargo-ensure-prefix to fix error while installing (#9240)” (#9248) PR #9248
Update version of cargo-ensure-prefix to fix error while installing (#9240) PR #9240
Testing
Documentation
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-1.27.0-py36.py37-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff25ac89c597d8dc22de842d76b6b4ecbd1e54af6070f417232146b77ace13b1 |
|
MD5 | ab15101e3dd4969ffe3446c3f5824761 |
|
BLAKE2b-256 | c6d54aed9f0bce66cdbba523c02d96e801edff42decf2bb1e9aae14c774ef39d |