Pybuilder Changelog

What's new in Pybuilder 0.12.10

Oct 7, 2020
  • Component & Dependency Upgrades:
  • PIP ==20.2.3 (bundled in venv)
  • added setuptools ==50.3.0 (bundled in venv)

New in Pybuilder 0.12.9 (Sep 14, 2020)

  • New Features:
  • #747 Introduce --no-venvs option

New in Pybuilder 0.11.10 (Mar 16, 2017)

  • Allow obsoleting packages with “obsoletes” #456
  • PyBuilder needs to depend on modern setuptools #452
  • Allow specifying python version constraint #450
  • Add Python 3.6 support #446
  • Copy resource doesn’t include the LICENSE file in the distro #443
  • Coverage plugin fails when fails to load covered module #441
  • Increasing test coverage on vcs_tests.py #439
  • Allow modifying default targets similar to manner of adding them in #412 #438
  • Fix PyPI documentation #435
  • PyBuilder’s setup.py broken when pandoc>=1.18 is installed with pypandoc~=1.2.0 #429
  • python.distutils plugin: setup.py keywords #424
  • Flake8 3.2.0 broke the build #420
  • Uptake new PIP upgrade features #416
  • Allow to append build targets to default from command line #413
  • Generate package summary and description based on a README.md #408
  • Wrong dependency version error formatting #405
  • Fix paths in the Sphinx PyB quickstart and runtime configuration #403
  • Wrong logging level for sphinx_generate_documentation #401
  • Sphinx configuration should share PyB at runtime #398 #399
  • Color escape sequence not properly terminated #390
  • Harden expand_path for Windows and safe_log_file_name #393
  • Pathing issues on pypi upload on Windows #391
  • python.distutils plugin doesn’t support namespace_packages #385
  • Coverage should be setup to cover multiprocessing and forks #384
  • Recursive dependency upgrades should be subject to global version constraints #380
  • Coverage for missing modules should cause a failure #377

New in Pybuilder 0.11.8 (Mar 25, 2016)

  • Support for pip trusted hosts #341
  • Add possibility to specify plugin versions #340
  • Fix issue in generated setup.py #332

New in Pybuilder 0.11.7 (Mar 25, 2016)

  • Pin unittest-xml-reporting dependency to maintain py2.6 support #333 (thanks @snordhausen)
  • Distutils upload signing #325
  • Ability to customize packaging options ad nauseam #331
  • Success message after generating setup.py in --start-project
  • Windows fixes (thanks @Lucas-C and @guillermooo).

New in Pybuilder 0.11.6 (Jan 29, 2016)

  • Cram plugin can now run cram from the target directory and does so by default #318

New in Pybuilder 0.11.3 (Dec 29, 2015)

  • Coverage plugin now excludes namespaces (not backed by an actual source file) #301
  • Installing dependencies with use of an HTTPS proxy is now possible #299
  • Python 3.5 issue resolved #287
  • External tool dependencies for plugins are now properly updated #272
  • pyb install now forces the reinstallation #282
  • Cram now handles the case where there are no tests #280
  • Plugins can be installed via VCS #276
  • PyBuilder projects can be installed via URL-based install #200
  • Plugins can now find out if a task is in the current execution plan #275
  • Handling system exits gracefully #255
  • Plugin-specified constraints for PyBuilder API version #257
  • pyb -o now properly excludes all optional tasks #263
  • Fixed missing xmlrunner dependency #267
  • pyb -T shows build plan #262
  • Possibility to inject tasks as dependent #188
  • Fixed egg/wheel shebangs #168
  • Optional automatic version augmentation based on .dev releases #209
  • Upload repository for distutils upload task now works #243
  • Fixed issue with @task decorator
  • New tasks for printing module and script directory path #208
  • Support for setuptools pre- and post-install logic #227
  • Flake8 plugin now checks for directory existence before including it #230
  • Helpful error message when pyb -t is not called in the project root directory #226

New in Pybuilder 0.11.2 (Dec 29, 2015)

  • Added project.include_directory functionality #223. Pull request by @glujan
  • Coverage plugin will not reset modules per default (only if coverage_reset_modules is set to True) #211.
  • Coverage forking disabled for windows OS #184
  • Coverage / branch coverage discrepancy fix #203
  • Resolved flake8 plugin filtering issue #202
  • New plugin for debian packaging by @locolupo #190
  • The distutils plugin can now upload distributions #187
  • Resolved issue with install_dependencies on windows OS #185.

New in Pybuilder 0.11.1 (Dec 29, 2015)

  • The 0.11.0 metadata claimed to support python 3.2. This has been fixed.

New in Pybuilder 0.11.0 (Sep 9, 2015)

  • Nearly this entire release is courtesy of arcivanov. Thanks!!!
  • Introduced reactor.execute_task_shortest_plan API.
  • Fixed an issue where a forked coverage measurement would not properly failed the build.
  • unit test and coverage measurement are now library functions in an API sense.
  • pyb install now works and acts like setup.py install (distutils plugin).
  • PyBuilder can now be installed with pip install git://github.com/pybuilder/pybuilder.git@
  • Forked processes (like coverage measurements) now correctly report back their errors.
  • Huge improvements to coverage accuracy when building PyBuilder itself / libraries which use part of their own code in order to build, e.G. if you run library code in build.py.
  • Branch coverage and html reports have been added to the python.coverage plugin.
  • The python.coverage process will now always fork when measuring coverage, disregarding the coverage_fork setting. The coverage_fork setting is now deprecated.
  • The python.unittest plugin will now always fork.
  • Module reloading has been removed. It is no longer useful since coverage and unit tests run in separate forks.
  • unittest_runner must now accept a positional argument which is a filelike object. Writing to this filelike object is preferred rather than using stdout/stderr.
  • Introduced teardown actions. Also action ordering is now stable/guaranteed.
  • Introduced optional task dependencies (as opposed to required task dependencies). With the command line switch -x task_name a set of optional tasks can be skipped (repeat if required). With the command line switch --force-exclude this can be expanded to exclude required dependencies as well (but might lead to build consistency problems).
  • Python 3.2 support has been dropped, please upgrade to 3.3 or 3.4
  • The python.unittest plugin now generates nUnit-style XML reports by default (these can be parsed by jenkins).

New in Pybuilder 0.10.61 (Jun 25, 2015)

  • pycharm plugin: Generate entries for unit and integration test directories (if respective plugins are activated) and mark them as test sources (pull request by arcivanov)

New in Pybuilder 0.10.60 (May 29, 2015)

  • sphinx plugin: you can now configure sphinx_doc_author, sphinx_doc_builder, sphinx_project_name, sphinx_project_version via project.set_property in your build.py (pull request by @locolupo)
  • sphinx plugin: pyb –start-project now asking for a documentation folder (pull request by @locolupo)
  • sphinx plugin: new task, sphinx_quickstart (pull request by @locolupo)
  • install dependencies plugin: Setting the property install_dependencies_local_mapping to a dictionary allows to specify where the dependencies are to be installed locally. The dictionary should map dependency names to paths where the dependencies should be installed.

New in Pybuilder 0.10.59 (Mar 28, 2015)

  • integrationtest plugin: The property integrationtest_always_verbose can now be used to always display the integration test output, even when the tests are green. Pull request by @snordhausen

New in Pybuilder 0.10.56 (Mar 16, 2015)

  • Resolved problems where the python unittest plugin would cause a crash when a test failed with an exception containing non-ascii text.

New in Pybuilder 0.10.55 (Mar 16, 2015)

  • Resolved python3 compatibility issue introduced with 0.10.54

New in Pybuilder 0.10.53 (Mar 10, 2015)

  • Fix autoversioning for older git version like found on RHEL6.

New in Pybuilder 0.10.52 (Mar 3, 2015)

  • Ignore errors while trying to save coverage data This fixes #119. In cases where there is no coverage data at all, saving leads to an error, which would crash the build even if coverage_break_build was set to False.

New in Pybuilder 0.10.51 (Feb 27, 2015)

  • The snakefood plugin will now pull in the snakefood dependency as intended.

New in Pybuilder 0.10.49 (Feb 26, 2015)

  • Added API functionality to automatically version the project based on the version control system.

New in Pybuilder 0.10.48 (Feb 25, 2015)

  • Sonarqube plugin: Should now correctly report coverage.

New in Pybuilder 0.10.44 (Feb 18, 2015)

  • Coverage plugin: Should now work with coveralls without further adjustements since a coverage data file is written.

New in Pybuilder 0.10.43 (Feb 18, 2015)

  • Coverage plugin: Try really hard to work well with coveralls:
  • The coverage configuration is used to tell coverage to avoid covering the python stdlib if possible, and also specifies the source root to cover. Additionally a .coverage file is written in the coverage root, so that it can be consumed by coveralls.

New in Pybuilder 0.10.41 (Feb 9, 2015)

  • Default project version (when no version is given in the build.py is now 1.0.dev0 instead of 1.0-SNAPSHOT, as per PEP 440.

New in Pybuilder 0.10.40 (Feb 7, 2015)

  • Improved error messages when the setup commands from python.distutils fail.
  • Naming a script (src/main/scripts/foo) like a package (src/main/python/foo/__init__.py) now works without any specific configuration. Technical detail: the property dir_dist_scripts is now set to "scripts" by default instead of None.

New in Pybuilder 0.10.39 (Jan 19, 2015)

  • Resolved problems with the python core plugin on windows. Packages with leading backslashes were leading to problems with the setup script. Thanks to @SzeMengTan for reporting.

New in Pybuilder 0.10.38 (Jan 15, 2015)

  • Initial version of a sphinx plugin.

New in Pybuilder 0.10.37 (Jan 15, 2015)

  • Fix using the dir_dist_scripts property in python3 which was breaking the setup script.

New in Pybuilder 0.10.36 (Sep 25, 2014)

  • Coverage plugin: ignored modules will no longer contribute to the overall coverage calculation (referring to the modules or packages in coverage_exceptions). Thanks to @MirkoRossini for the pull request!

New in Pybuilder 0.10.35 (Sep 25, 2014)

  • The generated setup.py is now correct even if the $dir_source_main_python contains a trailing slash. See issue 110 for more details. Thanks @MirkoRossini for reporting!
  • The pyb -Qt line format is now $task_name:$task_description. This allows for better completions by also exposing the task names.

New in Pybuilder 0.10.34 (Sep 25, 2014)

  • The jedi linter has been externalized, please use pypi:pybuilder_jedi_plugin now.
  • The task list (-t) in very quiet mode (-Q) will now output space separated task data.

New in Pybuilder 0.10.33 (Sep 2, 2014)

  • The filter_resources plugin will now warn and skip keys that can not be replaced. This allows the use of string.Template in source files that go through the filter_resources plugin.

New in Pybuilder 0.10.29 (Jul 28, 2014)

  • Added plugin jedi_linter (EXPERIMENTAL)

New in Pybuilder 0.10.28 (Jul 28, 2014)

  • Resolved a python 3 compatibility problem with the exec plugin.

New in Pybuilder 0.10.27 (Jul 28, 2014)

  • Added another pybuilder command pyb_. which is a binary (.exe) on windows installations of PyBuilder. This should be used instead of the pyb script on windows installations.

New in Pybuilder 0.10.26 (Jul 28, 2014)

  • install_dependencies should now work as intended on windows.

New in Pybuilder 0.10.25 (Jul 28, 2014)

  • Fixed a problem when the installed pip had no version which is the case of old installations.

New in Pybuilder 0.10.24 (Jul 28, 2014)

  • Fixed a problem with the distutils plugin. Using slashes in distutils_commands resulted in problems as it was interpreted as a path. This is now resolved.

New in Pybuilder 0.10.23 (Jun 5, 2014)

  • It is now possible to use the distutils_commands property for an automated upload, since the distutils_plugin will now do the right thing when presented with a command with spaces, like [sdist upload]

New in Pybuilder 0.10.22 (Jun 4, 2014)

  • Unit tests names will now be logged to DEBUG as they run. Thanks @aelgru!
  • Introduced a new property for the install_dependencies plugin, install_dependencies_insecure_installation

New in Pybuilder 0.10.21 (Jun 4, 2014)

  • Maintenance release (updated trove classifiers for PyPI)

New in Pybuilder 0.10.20 (May 24, 2014)

  • The --start-project (to get started with a new project) now suggests the default scripts directory and creates it. Files in this folder will automatically be shipped as scripts (as in the setup.py scripts kwarg) which might be /usr/bin or /usr/local/bin or so, depending on your system.

New in Pybuilder 0.10.19 (May 16, 2014)

  • The frosted and flake8 linter now consider the property frosted|flake8_include_scripts. If this is set to True (default False) then all scripts in $dir_source_main_scripts will be linted too.
  • The integrationtest plugin may now pass arbitrary additional command line parts to the integrationtest call. The property integrationtest_additional_commandline can be used for that purpose.

New in Pybuilder 0.10.18 (May 1, 2014)

  • Python files in $dir_source_main_python (src/main/python by default) are now treated as standalone python modules. Previously, it was only possible to package python files by putting them in a package.

New in Pybuilder 0.10.13 (Apr 1, 2014)

  • Cram support : The python.cram plugin can be used to run cram tests. Kudos go to @esc for the implementation.

New in Pybuilder 0.10.10 (Mar 29, 2014)

  • It should no longer occur that CI servers count unit tests twice when coverage is used.
  • TeamCity service messages for unit test failures are now well-formed

New in Pybuilder 0.9.17 (Mar 29, 2014)

  • Allows the user to define a project variable "unittest_test_method_prefix" as a prefix for the unit test method names.

New in Pybuilder 0.9.10 (Sep 21, 2013)

  • It can no longer occur that the ronn_manpage plugin fails due to the reports directory not existing.

New in Pybuilder 0.9.8 (Mar 12, 2013)

  • option “-t” list of tasks: improved layout
  • django plugin: task djang_run_server is now ready for django 1.5
  • django plugin bug fix: import django only when executing task

New in Pybuilder 0.9.1 (Oct 1, 2012)

  • Added several new options for the install_dependencies plugin to customize the pip behavior.
  • coverage and pyfix plugins define their dependencies.
  • Added very-quiet command line option.
  • Bug fix: copy_resources plugin uses correct target.