Recent Releases of pytask

pytask - v0.5.5

What's Changed

  • Don't exit early to detect missing files. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/694
  • Add note about using pytask with workspaces. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/692

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.5.4...v0.5.5

- Python
Published by github-actions[bot] 7 months ago

pytask - v0.5.4

What's Changed

  • Use uv more. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/680
  • Remove differentiation between test kinds. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/683
  • Test lowest dependency resolution. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/684
  • Ensure compatibility with click v8.2. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/676
  • Improve installation instructions and fix terminal animations by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/686
  • Fix file URLs to paths and tasks and enable colors and icons on Windows. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/685
  • Update changelog and publish in the repo root. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/687

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.5.3...v0.5.4

- Python
Published by github-actions[bot] 9 months ago

pytask - v0.5.3

What's Changed

This release was overdue. This is not because it includes a big feature, but because little changes kept piling up and should have been released earlier.

  • Add data catalog name to nodes to make the representation unique. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/650
  • Ignore the .pixi folder during the collection. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/662
  • Update pre-commit and pin click. by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/677
  • Add de-/serializer func to PickleNode attributes. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/673
  • Enable some tests in CI or offline, remove refurb. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/678

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.5.2...v0.5.3

- Python
Published by github-actions[bot] 9 months ago

pytask - v0.5.2

What's Changed

This release comes with only some minor improvements. Notably,

  • pytask adds a .gitignore to .pytask, preventing users from accidentally committing the folder following best practices from venv and pytest.
  • Support for Python 3.8 ended, and support for Python 3.13 was added. There might be an issue with uv's standalone Python versions and being stuck in the debugger launched by pytask. If it happens, filing an issue would be appreciated.

Changes

  • Add dark mode svgs to index page. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/636
  • Stop live execution after exception. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/640
  • Add .gitignore to .pytask to avoid committing it. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/646
  • Support Python 3.13 and drop 3.8. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/633
  • Fix type annotation for hash function. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/655
  • Document pipefunc. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/656

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.5.1...v0.5.2

- Python
Published by github-actions[bot] about 1 year ago

pytask - v0.5.1

What's Changed

This release contains mostly bug fixes but also the guide for complex task repetitions has been updated and includes some learnings from recent projects.

  • [automated] Update plugin list by @github-actions in https://github.com/pytask-dev/pytask/pull/615
  • Fix interaction between provisional nodes and @mark.persist. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/617
  • Ensure that root_dir of DirectoryNode is created. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/618
  • tests: remove dependence on root folder name by @erooke in https://github.com/pytask-dev/pytask/pull/620
  • tests: make coiled an optional import by @erooke in https://github.com/pytask-dev/pytask/pull/619
  • Fix the pull request template. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/621
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/610
  • Bump peter-evans/create-pull-request from 6.0.5 to 6.1.0 in the github-actions group by @dependabot in https://github.com/pytask-dev/pytask/pull/623
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/622
  • Add warning when non-matching files are passed to pytask. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/627
  • Fix duplicated collection of task modules. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/628
  • Fix display issues with the programmatic interface. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/631
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/629
  • Bump sigstore/gh-action-sigstore-python from 2.1.1 to 3.0.0 in the github-actions group by @dependabot in https://github.com/pytask-dev/pytask/pull/630
  • Fix issue with rerunning tasks via pytask.build. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/626
  • Redesign the scaling tasks guide. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/616
  • Follow-up on #616. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/632

New Contributors

  • @erooke made their first contribution in https://github.com/pytask-dev/pytask/pull/620

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.5.0...v0.5.1

- Python
Published by github-actions[bot] over 1 year ago

pytask - v0.5.0

Highlights

✨ pytask v0.5.0 is released and contains two big features. ✨

🤖 Provisional Nodes and Task Generators

pytask now has mechanisms to define tasks that produce an unknown number of products, which are provisional nodes. For example, when a task splits data by rows into chunks of roughly 100MB.

If you want further to process each chunk of data with a separate task, use task generators to create as many tasks as there are chunks.

Everything is explained in the how-to guide Provisional Nodes and Task Generators.

🚀 Support for HPC and your favorite cloud provider (AWS, GCP, Azure) using dask / coiled

pytask can build your project on virtual machines from the cloud provider of your choice. Read more about it in the release announcement of pytask-parallel v0.5.0.

Removals

  • The markers @pytask.mark.depends_on and @pytask.mark.produces are removed. Please define dependencies and products using the new approaches.
  • Instead of @pytask.mark.task use from pytask import task and @task.

What's Changed

  • Fix type hints for Task.execute() and TaskWithoutPath.execute(). by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/548
  • [automated] Update plugin list by @github-actions in https://github.com/pytask-dev/pytask/pull/550
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/549
  • Remove depends_on and produces markers. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/551
  • Remove @pytask.mark.task and switch to @task. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/552
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/554
  • Forbid strings as values for paths in config file. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/553
  • Use new-style hook wrappers and require pluggy 1.3. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/555
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/556
  • Fix issue with @task(after=...) in notebooks and terminals. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/557
  • Fix path in "Node is dir" error message by @egerlach in https://github.com/pytask-dev/pytask/pull/561
  • Bump the github-actions group with 2 updates by @dependabot in https://github.com/pytask-dev/pytask/pull/560
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/559
  • Make universal-pathlib 0.2.2 an official dependency. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/566
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/562
  • Bump the github-actions group with 1 update by @dependabot in https://github.com/pytask-dev/pytask/pull/564
  • Fix typos in definingdependenciesproducts.md by @ChristianZimpelmann in https://github.com/pytask-dev/pytask/pull/563
  • Improve handling of task_files. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/568
  • Remove hooks related to the DAG. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/569
  • Remove redundant calls of PNode.state(). by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/571
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/573
  • Remove pytask_execute_create_scheduler hook. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/575
  • Implement task generators and provisional nodes. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/487
  • Fix interaction with --pdb, --trace and tasks that return. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/579
  • Simplify the code related to tracebacks. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/581
  • [automated] Update plugin list by @github-actions in https://github.com/pytask-dev/pytask/pull/584
  • Improve typing of capture.py. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/587
  • Improve linting. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/586
  • Reset class variables of ExecutionReport and Traceback. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/588
  • Fix error introduced by #588. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/590
  • Invalidate cache to check whether remote files exist. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/591
  • Resolve root paths and module names for imported files. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/589
  • Use uv to speed up CI. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/567
  • Bump the github-actions group with 1 update by @dependabot in https://github.com/pytask-dev/pytask/pull/578
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/577
  • Recreate PythonNodes every time. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/593
  • Publish NodeLoadError. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/594
  • Manage project with rye. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/596
  • Bump peter-evans/create-pull-request from 6.0.2 to 6.0.3 in the github-actions group by @dependabot in https://github.com/pytask-dev/pytask/pull/597
  • Replace requests with httpx. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/598
  • Stop unwrapping coiled functions. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/595
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/592
  • Add fixture for changing cwd. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/599
  • Refactor tests using subprocesses. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/600
  • Bump peter-evans/create-pull-request from 6.0.3 to 6.0.4 in the github-actions group by @dependabot in https://github.com/pytask-dev/pytask/pull/602
  • [automated] Update plugin list by @github-actions in https://github.com/pytask-dev/pytask/pull/601
  • Fix example about capturing warnings in docs. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/603
  • Fix PythonNode examples in docs. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/604
  • Improve infra and add step for type checking. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/605
  • Bump peter-evans/create-pull-request from 6.0.4 to 6.0.5 in the github-actions group by @dependabot in https://github.com/pytask-dev/pytask/pull/608
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/607
  • Allow tasks to be pending. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/609
  • Remove status from pytask_execute_task_log_start. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/611
  • Validate the names of data catalogs. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/612
  • Improve documentation for data catalogs. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/606
  • [automated] Update plugin list by @github-actions in https://github.com/pytask-dev/pytask/pull/613

New Contributors

  • @egerlach made their first contribution in https://github.com/pytask-dev/pytask/pull/561
  • @ChristianZimpelmann made their first contribution in https://github.com/pytask-dev/pytask/pull/563

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.4.5...v0.5.0

- Python
Published by github-actions[bot] over 1 year ago

pytask - v0.4.7

What's Changed

A patch release to fix an error where using --pdb or --trace lead to tasks always returning None which affected tasks that use returns as products.

  • Backport #580 to v0.4.7. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/580

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.4.6...v0.4.7

- Python
Published by github-actions[bot] almost 2 years ago

pytask - v0.4.6

What's Changed

A bug fix release that fixes an error when users used from pytask import mark to mark their tasks.

  • Skip collection of MarkGenerator when using from pytask import mark. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/576

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.4.5...v0.4.6

- Python
Published by github-actions[bot] almost 2 years ago

pytask - v0.4.5

Highlights

pytask is moving towards v0.5, which will remove lots of deprecated features. Please upgrade your syntax or pin pytask to <0.5 in your requirements files.

The release comes with two new features and lots of little improvements.

  • pytask can now handle files that are referenced via HTTP(S) URLs or files on popular cloud storage like AWS, all thanks to universal_pathlib. Explanations can be found in this guide.

  • It is now easier to extend pytask than before. The new hook_module configuration option allows adding modules that contain hook implementations. This guide offers more explanation.

What's Changed

  • CI: remove unneeded install of graphviz on ubuntu by @NickCrews in https://github.com/pytask-dev/pytask/pull/515
  • Raise error when non-existing task paths are added to the config. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/517
  • Do not allow builtin functions as tasks. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/519
  • Enhance issue templates. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/522
  • Refactor get_file. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/523
  • Improve some linter and formatter rules. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/524
  • Bump actions/setup-python from 4 to 5 by @dependabot in https://github.com/pytask-dev/pytask/pull/527
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/526
  • Enable PathNode and PickleNode to deal with URLs, S3, etc.. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/525
  • Add error message for not collected tasks with @task decorator. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/521
  • Improve codecov and coverage. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/528
  • Bump sigstore/gh-action-sigstore-python from 2.1.0 to 2.1.1 by @dependabot in https://github.com/pytask-dev/pytask/pull/533
  • Bump actions/download-artifact from 3 to 4 by @dependabot in https://github.com/pytask-dev/pytask/pull/531
  • Bump actions/upload-artifact from 3 to 4 by @dependabot in https://github.com/pytask-dev/pytask/pull/532
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/530
  • Reenable and fix tests with Jupyter. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/535
  • Allow task functions to be partialed. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/536
  • Fix coverage. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/537
  • Change CLI entrypoint and allow passing task function to pytask.build. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/540
  • Refactor the plugin manager. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/542
  • Implement hook_module config option. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/539
  • Update imports in tests. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/543
  • Some changes to the docs. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/538
  • Require sqlalchemy>=2 and upgrade code. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/544
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/541
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/546
  • Release v0.4.5. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/545

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.4.4...v0.4.5

- Python
Published by github-actions[bot] about 2 years ago

pytask - v0.4.4

What's Changed

  • Fix typing issues with the DataCatalog. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/510
  • [automated] Update plugin list by @github-actions in https://github.com/pytask-dev/pytask/pull/511
  • Improve the documentation. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/509

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.4.3...v0.4.4

- Python
Published by github-actions[bot] about 2 years ago

pytask - v0.4.3

What's Changed

This release contains a lot of smaller improvements and bug fixes. Here is a short list.

  • #484 raises an error message when a PathNode was used with a directory instead a file.
  • #496 makes pytask even lazier. When a preceding task is executed and produces the same outputs, the following task will no longer be executed.
  • Objects in task modules that overwrite __getattr__ should not cause any problems anymore (#507 was fixed in #508). Same applies to import Task in task modules.

Complete list of changes

  • Simplify the teardown of a task. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/483
  • Correctly unconfigure pytask. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/485
  • Raise informative error when path nodes point to directories. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/484
  • Add default names to PPathNodes. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/486
  • Modernize TopologicalSorter. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/458
  • Raise error for invalid value in return annotation. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/488
  • Refactor and better test products. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/489
  • Refactor and better test parsing of dependencies. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/490
  • Addition to #489. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/491
  • Make pytask even lazier. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/496
  • Bump sigstore/gh-action-sigstore-python from 1.2.3 to 2.1.0 by @dependabot in https://github.com/pytask-dev/pytask/pull/495
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/494
  • Remove unnecessary code from the collection of tasks. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/497
  • Fix errors when using Task and TaskWithoutPath in task modules. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/498
  • Allow tasks to depend on other tasks. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/493
  • Move test dependencies to pyproject.toml by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/500
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/499
  • Remove MetaNode. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/501
  • [automated] Update plugin list by @github-actions in https://github.com/pytask-dev/pytask/pull/505
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/504
  • Catch objects pretending to be PTask. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/508

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.4.2...v0.4.3

- Python
Published by github-actions[bot] about 2 years ago

pytask - v0.4.2

Highlights

This release contains a new feature and some improvements for users.

  • 🚀 The new feature is the pytask.DataCatalog that allows users to manage dependencies and products in projects more easily. Read the tutorial to get started. 🚀
  • File changes are now detected by hashes instead of modification timestamps. It should prevent accidental executions when working with cloud storage providers like Dropbox or OneDrive and in many other situations. To save runtime, pytask uses a cache for the hashes when the modification timestamp has not changed.
  • Nodes now have signatures that separate how nodes are named and displayed from how nodes are identified internally. If you have written a custom node, please update it according to the how-to guide.
  • All of pytask's internal files are now stored in a .pytask folder in your project. The file .pytask.sqlite3 is moved to this location as well. Add .pytask to your .gitignore to prevent accidentally committing the folder.

What's Changed

  • Simplify building the plugin manager. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/449
  • Rename graph.py to dag_command.py and improve collect_command.py. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/451
  • Remove more .svgs and replace them with animations. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/454
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/452
  • [automated] Update plugin list by @github-actions in https://github.com/pytask-dev/pytask/pull/453
  • Add more explanation when PNode.load() fails during execution. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/455
  • Refer to source code on Github in API docs. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/456
  • Refactor code for format_node_name. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/457
  • Add hook to sort __all__. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/459
  • Simplify removing internal tracebacks from exceptions with cause. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/460
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/461
  • Fix import error for pluggy<1.3. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/462
  • Raise error when function is defined outside the loop body. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/463
  • Improve pins. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/464
  • Test that internal tracebacks are removed by reports. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/465
  • Add is_product to PNode.load(). by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/472
  • Add a data catalog. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/419
  • Hash files instead of relying on modification timestamps. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/469
  • Move .pytask.sqlite3 to .pytask/. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/470
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/471
  • Update PyPI action. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/477
  • Add node signatures. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/473
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/476
  • Add snapshot tests. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/475
  • Switch from black to ruff-format. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/478
  • Rework reports and tracebacks. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/474
  • Give skips higher precendence than ancestor failed as outcome. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/479
  • Remove checks for missing root nodes. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/480
  • Improve coverage. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/481
  • Fix handling of names and signatures of PythonNodes. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/482

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.4.1...v0.4.2

- Python
Published by tobiasraabe over 2 years ago

pytask - v0.4.1

What's Changed

Of course, it's a mandatory bug fix release after a bigger release.

Using the product annotation, Annotated[..., Product] did not work with multiple products.

  • Fix setting the name of PythonNode. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/443
  • Move content of setup.cfg to pyproject.toml. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/444
  • [automated] Update plugin list by @github-actions in https://github.com/pytask-dev/pytask/pull/445
  • Fix when multiple product annotations are used. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/448
  • Fix PythonNode when used as return. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/446
  • Simplify the tree_map code for generating the DAG. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/447

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.4.0...v0.4.1

- Python
Published by tobiasraabe over 2 years ago

pytask - v0.4.0

News

pytask became three years old in July, which is a suitable event to rethink pytask's design and blow dust off of some of its oldest components.

Here are the highlights of v0.4.0 :rocket: :star:

Highlights

New interfaces for products.

Every argument can be declared as a product with the new' Product' annotation. The path can be passed as a default value.

```python from pathlib import Path

from pytask import Product from typing_extensions import Annotated

def taskhelloearth(path: Annotated[Path, Product] = Path("helloearth.txt")): path.writetext("Hello, earth!") ```

More explanation can be found at https://tinyurl.com/yrezszr4.

It is also possible to use the return of the task function as a product, which allows wrapping any third-party function as a task function. Read more about it here: https://tinyurl.com/pytask-return.

```python from pathlib import Path

from pytask import Product from typing_extensions import Annotated

def taskhelloearth() -> Annotated[str, Path("hello_earth.txt")]: return "Hello, earth!" ```

Every task argument is a dependency

In older pytask versions, only paths were treated as task dependencies. That meant when you passed other arguments to the task, and they changed, it did not trigger a rerun of the task.

Now, every argument to a task can be a dependency, and you can hash them if they should trigger a rerun. It is explained in https://tinyurl.com/pytask-hash.

```python from pathlib import Path from typing import Annotated

from pytask import Product from pytask import PythonNode

def taskexample( text: Annotated[str, PythonNode(value="Hello, World", hash=True)], path: Annotated[Path, Product] = Path("file.txt"), ) -> None: path.writetext(text) ```

A new functional interface

The functional interface for pytask has been reworked and accepts a list of task functions. You can use it within your terminal or a Jupyter notebook. Read this guide to learn more about it: https://tinyurl.com/pytask-functional.

```python from pathlib import Path from typing import Annotated

from pytask import build

def createtext() -> Annotated[str, Path("helloearth.txt")]: return "Hello, earth!"

session = build(tasks=[create_text]) ```

Custom Nodes through Protocols

In the newest version, nodes (dependencies and products) and tasks follow protocols. It allows for customizations like PickleNodes that store any Python object as a pickle file and inject the object into the task when used as a dependency. It is explained in more detail in this guide: https://tinyurl.com/pytask-custom-nodes.

Other notable changes

  • Python 3.12 is supported, and support for Python 3.7 is dropped.
  • @pytask.mark.depends_on and @pytask.mark.produces are deprecated. There are better options to define dependencies and products explained in https://tinyurl.com/yrezszr4.
  • @pytask.mark.task is also deprecated and replaced by from pytask import task and @task.

What's Changed

  • Remove Python 3.7 support and add a new action for mamba. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/323
  • Replace pony with sqlalchemy>=1.4.36. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/387
  • Remove @pytask.mark.parametrize. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/391
  • Parse dependencies from all args if depends_on is not used. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/384
  • Add products with typing.Annotation. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/394
  • Refactor pybaum to _pytask.tree_util. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/395
  • Replace pybaum with optree and add paths to PythonNode names. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/396
  • Add support for NamedTuple and attrs classes in @pytask.mark.task(kwargs=...). by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/397
  • Deprecate decorators for depends_on and produces. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/398
  • Use protocols instead of ABCs. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/402
  • Allow tasks to return products. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/404
  • Tracking changes in v0.4.0. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/400
  • Bump peter-evans/create-pull-request from 5.0.1 to 5.0.2 by @dependabot in https://github.com/pytask-dev/pytask/pull/390
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/388
  • Allow to use prefix trees as nodes to parse function returns. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/406
  • Remove .value from Node protocol. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/408
  • Make .from_annot an optional feature of nodes. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/409
  • Allow to pass functions to PythonNode(hash=...). by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/410
  • Add protocols for tasks. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/412
  • Remove scripts to generate .svgs. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/413
  • Allow more ruff rules. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/414
  • A new functional interface. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/411
  • Deprecate @pytask.mark.task in favor of @pytask.task. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/417
  • Simplify and fix code in dag.py. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/418
  • Convert DeprecationWarning to FutureWarning for deprecated decorators. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/420
  • Remove deprecation warning for produces. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/421
  • Document new interface. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/392
  • Fix import_path. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/424
  • Publish pytask.tree_util. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/426
  • Fix type annotations of task.depends_on and task.produces. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/427
  • Document functional interface. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/423
  • Update example in README.md. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/428
  • Add better error message when node.state() throws error during DAG validation. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/429
  • Update parts of the documentation. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/430
  • Enable colors in WSL. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/431
  • Fix type checking for pytask.mark.x. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/432
  • Fix ids of PythonNodes. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/433
  • Add support for Python 3.12. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/434
  • Fix detection of task functions. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/437
  • Clarify some types. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/438
  • Refine typing. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/440

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.3.2...v0.4.0

- Python
Published by tobiasraabe over 2 years ago

pytask - v0.4.0rc4

The last pre-release.

- Python
Published by tobiasraabe over 2 years ago

pytask - v0.4.0rc3

A couple of new fixes. Most notably a fix for the ids of PythonNodes that should prevent rebuilds.

- Python
Published by tobiasraabe over 2 years ago

pytask - v0.4.0rc2

Another release candidate that fixes the installation via conda and adds full support for pytask-parallel.

- Python
Published by tobiasraabe over 2 years ago

pytask - v0.4.0rc1

This is the first release candidate for the v0.4.* release series.

The final release still requires some changes. For example, the documentation needs to be extended. But, the essential parts are already there, and it is time to collect some final feedback! Let me know what you think and what needs to be improved. You can comment in the discussion for this release #422.

Now, let's take a look at the changes.

What's Changed

New

  • Dependencies and products of tasks have new interfaces that are explained in this tutorial.
  • You can also now declare products by allowing task functions to return. Follow this guide.
  • If you have inputs to task functions that should be hashed to detect any changes, follow this guide.
  • Before, only pathlib.Paths received special treatment as dependencies or products to task functions. Now, it is possible to define your own nodes that simplify, for example, loading pickle files as this guide explains. But many more extensions are possible, like defining data in an S3 bucket as a dependency or product.
  • The functional interface has been reworked and now accepts tasks directly, allowing you to execute pytask on the command line or in Jupyter notebooks. The documentation must still be written, but here is your starting point.

Removals

  • Python 3.7 is no longer supported.
  • @pytask.mark.parametrize is removed. Follow this tutorial instead.

Deprecations

  • @pytask.mark.depends_on, @pytask.mark.produces are deprecated and will be removed in v0.5.0.
  • @pytask.mark.task is deprecated. Use @pytask.task instead.
  • Paths defined as strings are deprecated and should be replaced with proper pathlib.Path objects.

Full list of changes

  • Remove Python 3.7 support and add a new action for mamba. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/323
  • Replace pony with sqlalchemy>=1.4.36. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/387
  • Remove @pytask.mark.parametrize. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/391
  • Parse dependencies from all args if depends_on is not used. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/384
  • Add products with typing.Annotation. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/394
  • Refactor pybaum to _pytask.tree_util. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/395
  • Replace pybaum with optree and add paths to PythonNode names. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/396
  • Add support for NamedTuple and attrs classes in @pytask.mark.task(kwargs=...). by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/397
  • Deprecate decorators for depends_on and produces. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/398
  • Use protocols instead of ABCs. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/402
  • Allow tasks to return products. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/404
  • Tracking changes in v0.4.0. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/400
  • Bump peter-evans/create-pull-request from 5.0.1 to 5.0.2 by @dependabot in https://github.com/pytask-dev/pytask/pull/390
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/388
  • Allow to use prefix trees as nodes to parse function returns. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/406
  • Remove .value from Node protocol. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/408
  • Make .from_annot an optional feature of nodes. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/409
  • Allow to pass functions to PythonNode(hash=...). by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/410
  • Add protocols for tasks. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/412
  • Remove scripts to generate .svgs. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/413
  • Allow more ruff rules. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/414
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/407
  • A new functional interface. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/411
  • Deprecate @pytask.mark.task in favor of @pytask.task. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/417
  • Simplify and fix code in dag.py. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/418
  • Convert DeprecationWarning to FutureWarning for deprecated decorators. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/420
  • Remove deprecation warning for produces. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/421
  • Document new interface. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/392
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/415

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.3.2...v0.4.0rc1

- Python
Published by tobiasraabe over 2 years ago

pytask - v0.3.2

Highlights

This release contains the following highlights:

  • Previously, if you accidentally hit the save button on an unchanged task file, the task would be rerun by pytask, although nothing had changed. Now, pytask wouldn't rerun the task because it also compares the hashes of task files, not only the modification timestamp.
  • If you want to enforce rerunning tasks, there is now a --force flag. Take the function name/id of the task and run pytask -k <task id> --force, and the task + its necessary tasks will be executed. Or delete a product from the task you want to rerun.
  • The import mechanism for task modules has been reworked, and errors resolved. Thanks to @NickCrews!

Additionally, the @pytask.mark.parametrize decorator is deprecated and will be removed in pytask v0.4. If you use the decorator, you will have two options:

  1. (Recommended) Upgrade your code to the new approach for repeating tasks described in this tutorial.
  2. Or, pin pytask to pytask<0.4 and silence the deprecation warning by setting silence_parametrize_deprecation = true in your pyproject.toml under [tool.pytask.ini_options].

What's Changed

  • Update version numbers in animations. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/345
  • Add dependabot for GitHub actions. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/348
  • Publish db. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/352
  • Refactor nodes. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/355
  • Add -f/--force to force executing tasks. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/354
  • Add hashing to avoid re-executing tasks when modification times changed. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/357
  • Update update_plugin_list.py. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/364
  • Rework panel with sphinx-design. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/365
  • Add light and dark logos for the documentation. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/366
  • Fix the panel on the index page of the documentation. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/367
  • Fix error introduced in #364. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/369
  • Revert change turning Node.state() into a hook. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/370
  • Rename Node back to MetaNode. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/371
  • Clearer documentation for pytask dag -o. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/376
  • Conditionally skip tests on MacOS. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/378
  • Deprecate @pytask.mark.parametrize. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/381
  • Fix the import mechanism for task modules. by @NickCrews in https://github.com/pytask-dev/pytask/pull/373
  • Update changes. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/383

New Contributors

  • @dependabot made their first contribution in https://github.com/pytask-dev/pytask/pull/349
  • @NickCrews made their first contribution in https://github.com/pytask-dev/pytask/pull/373

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.3.1...v0.3.2

- Python
Published by tobiasraabe over 2 years ago

pytask - v0.3.1

What's Changed

  • Fix bug when passing no path on the command line. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/337
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/341
  • [automated] Update plugin list by @github-actions in https://github.com/pytask-dev/pytask/pull/340

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.3.0...v0.3.1

- Python
Published by tobiasraabe about 3 years ago

pytask - v0.3.0

Highlights

This release includes a breaking change due to internal refactorings. The change affects how command line options and the configuration file are loaded and validated. For users, the changes are subtle; the help pages of the commands have prettier options and default values.

Make sure to upgrade pytask and the plugins to v0.3 or pin the packages to <0.3.

There is some delay until the updates for pytask and its plugins are available. Be aware of errors when using mixed v0.2 and v0.3 installations.

The most significant benefit is for developers who want to add command line options and configuration values. The parsing can now be handled with proper click types, for example, EnumChoice to implement choice options. Defaults are attached to command line options and are automatically displayed in the help pages.

What's Changed

  • Update workflow status badge. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/326
  • Deprecate INI configurations. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/313
  • Add ruff to linters. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/329
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/328
  • Refactor database.py. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/332
  • Add a guide to migrate from scripts to pytask. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/330
  • Upgrade attrs and related code. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/333
  • Use ruff with all rules selected by default. by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/331
  • Set target version for ruff. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/334
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/335
  • Extend the API documentation. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/336

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.2.7...v0.3.0

- Python
Published by tobiasraabe about 3 years ago

pytask - v0.2.7

News

This is probably the last patch release before the v0.3.0 release. There are some highlights like the new terminal animations in the documentation. I hope you enjoy them.

What's Changed

  • Replace pydot with pygraphviz. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/308
  • Add refurb to pre-commit hooks. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/311
  • Fix links in docs. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/310
  • Add Python 3.11 to CI. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/307
  • Clarify example in docs on nested dependencies and products. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/318
  • Formalize more choice options to enums. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/321
  • Add terminal animations. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/322
  • Collect automatically created tasks. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/325

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.2.6...v0.2.7

- Python
Published by tobiasraabe about 3 years ago

pytask - v0.2.6

What's Changed

  • Add docformatter. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/297
  • Move and publish some functions related to warnings. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/298
  • [automated] Update plugin list by @github-actions in https://github.com/pytask-dev/pytask/pull/300
  • fix[docs]: Fix mismatched backticks by @augustebaum in https://github.com/pytask-dev/pytask/pull/303
  • Remove colorama. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/305
  • Fix typo in link and adjust documentation for warnings. by @hmgaudecker in https://github.com/pytask-dev/pytask/pull/306

New Contributors

Many thanks to the new contributors 🙇!

  • @augustebaum made their first contribution in https://github.com/pytask-dev/pytask/pull/303
  • @hmgaudecker made their first contribution in https://github.com/pytask-dev/pytask/pull/306

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.2.5...v0.2.6

- Python
Published by tobiasraabe over 3 years ago

pytask - v0.2.5

Highlight

The highlight of this release is a dry-run mode that shows which tasks will be run during the next execution. Just type pytask --dry-run. Here is the documentation.

What's Changed

  • Pin pybaum to >=0.1.1. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/288
  • pytask collect displays shortened task names. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/289
  • Implement a dry-run mode. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/290
  • Fix bug with --pdb and pytask-latex. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/296

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.2.4...v0.2.5

- Python
Published by tobiasraabe over 3 years ago

pytask - v0.2.4

What's Changed

  • Some pages of the documentation have been improved. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/279 and https://github.com/pytask-dev/pytask/pull/281
  • Don't display traceback with 'previous task failed' with verbose <= 1. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/285
  • Show all files that are not produced by a task. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/287

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.2.3...v0.2.4

- Python
Published by tobiasraabe over 3 years ago

pytask - v0.2.3

Highlights

This release includes some minor fixes. For example, deprecation warnings are not activated by default anymore, and you can remove the filters for these warnings again.

What's Changed

  • Fix pytask clean when git is not installed. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/276
  • Do not capture DeprecationWarning and PendingDeprecationWarning by default. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/277
  • Reduce the number of locations where warnings are raised. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/278

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.2.2...v0.2.3

- Python
Published by tobiasraabe over 3 years ago

pytask - v0.2.2

Highlight

The command pytask clean has been reworked! 🎉

pytask clean allows to clean your project from obsolete files. For example, when you renamed a product of a task and the old product still exists in the build folder.

All files which are not known by pytask or git can be cleaned.

image

You find more information in the tutorial.

What's Changed

  • Fix info under live execution table. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/267
  • Rework the clean command. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/273

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.2.1...v0.2.2

- Python
Published by tobiasraabe almost 4 years ago

pytask - v0.2.1

Highlights

This release has two features.

  1. A new configuration value, sort_table allows you to control whether the table after the execution is sorted alphabetically or ordered by execution. Here is the entry in the documentation. Thanks to @timmens for his first contribution 🎉.

  2. pytask is now able to capture warnings and to report them. Here is an example with the infamous SettingWithCopyWarning from pandas image Take a look at the how-to guide about capturing warnings to learn more about the feature.

Currently, this feature does not work when you parallelize the execution with pytask-parallel. Support is planned.

What's Changed

  • Add svg for profiling tasks. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/259
  • Add sort_table option by @timmens in https://github.com/pytask-dev/pytask/pull/261
  • Capture warnings. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/263

New Contributors

  • @timmens made their first contribution in https://github.com/pytask-dev/pytask/pull/261

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.2.0...v0.2.1

- Python
Published by tobiasraabe almost 4 years ago

pytask - v0.2.0

The v0.2 release contains several new features and breaking changes with v0.1.x versions of the plugins for the good of the whole project.

Highlights

  • The documentation is improved a lot and features shiny svgs.

```python import numpy as np import pytask

for i in range(10):

@pytask.mark.task
def task_create_random_data(produces=f"data_{i}.pkl", seed=i):
    rng = np.random.default_rng(seed)
    ...

```

  • pyproject.toml is the new configuration file for pytask. This release soft-deprecates all ini-configurations. Here is more information.
  • Dependencies and products can be nested to allow for more structure.

The release also allows the plugins to provide better interfaces in their next releases. Keep an eye on new releases in the coming days.

What's Changed

  • Use pybaum for more flexible dependencies and products. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/211
  • Implement a new loop-based approach to parametrizations. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/229
  • Move documenation to MyST. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/232
  • Add a counter under the execution table to show completed tasks. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/252

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.1.9...v0.2.0

- Python
Published by tobiasraabe almost 4 years ago

pytask - v0.1.9

Highlights

The highlight of the current release is an automatically updated list of plugins for pytask which you can see here.

Apart from that, the release includes improvements to code, tests, and the documentation.

What's Changed

  • Enhance the tutorial on how to set up a project. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/217
  • Remove depends_on and produces from task function when parsed. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/218
  • Remove leftovers from pytest from _pytask.mark.Mark. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/219
  • Publish types, classes, and functions. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/197
  • Add an automated job to create a list of plugins in the docs. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/222
  • Add more test cases for parametrizations. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/221
  • Fix a circular import error created by #197. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/225
  • Fix crowding-out of tasks in table by skipped and persisted tasks. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/226

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.1.8...v0.1.9

- Python
Published by tobiasraabe almost 4 years ago

pytask - v0.1.8

Highlight

The highlight of this release is the new design of the help pages which are now colored and better structured.

image

What's Changed

  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/212
  • Allow __tracebackhide__ to be a callable. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/210
  • Add .coveragerc and improve coverage. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/213
  • Make help pages prettier. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/215

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.1.7...v0.1.8

- Python
Published by tobiasraabe about 4 years ago

pytask - v0.1.7

Highlights

This is the first release of pytask which supports Python 3.10. At the same time, Python 3.6 is deprecated since EOF was in last december.

What's Changed

  • Cancel previous CI runs automatically. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/209
  • Deprecate Python 3.6. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/192
  • Add support and testing for Python 3.10. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/153
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/pytask-dev/pytask/pull/179

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.1.6...v0.1.7

- Python
Published by tobiasraabe about 4 years ago

pytask - v0.1.6

Highlights

This release features the new @pytask.mark.task decorator which allows to mark functions as tasks without requiring the task_ prefix. It also accepts an optional name parameter to rename the task to something else than the function name.

python @pytask.mark.task def prepare_data(): pass

What's Changed

  • Add guide on how to profile pytask. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/191
  • Add more figures to the documentation. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/193
  • Change demo in README.rst. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/194
  • Mention the two new cookiecutters more prominently. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/196
  • Fix skipif marker in the documentation. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/198
  • A better error message when paths are ambiguous on case-insensitive file systems. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/199
  • Mark arbitrary function as tasks with @pytask.mark.task. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/200
  • Test _pytask.mark_utils. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/201
  • Remove internal traceback frames from exceptions raised within pytask. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/204
  • Fix directory structure in the best practices guide on parametrizations. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/208

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.1.5...v0.1.6

- Python
Published by tobiasraabe about 4 years ago

pytask - v0.1.5

What's Changed

  • Enhance live display by deactivating auto-refresh among other things. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/186
  • Refactorings related to ExitCode. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/188
  • Add --show-traceback to control whether tracebacks are displayed. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/187
  • Don't display a table when no entry is present. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/189
  • Refactor remaining pieces related to reducenodename. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/184
  • Refactor exporting the DAG as a figure. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/185
  • Update the release notes. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/190

Full Changelog: https://pytask-dev.readthedocs.io/en/latest/changes.html

- Python
Published by tobiasraabe about 4 years ago

pytask - v0.1.4

This release includes a lot of changes to the styling of the interface as well as multiple internal improvements such as internal typing and clearer internal task outcomes.

What's Changed

The most notable changes in this release involve the style of the interface.

  • Task ids are shorter than before, the part with the path is dimmed to highlight the function name.
  • The bright part of the task name is clickable and will open the task module in the editor. Use editor_url_scheme=vscode in the configuration file and you will even jump to the correct line where the task is defined in vscode. (Link)
  • A panel with a summary on task outcomes is displayed at the end of the report.

image

pytask is now also rudimentarily typed. Hopefully, a fully typed interface will follow soon.

More information about changes in this release can be found in the changelog.

- Python
Published by tobiasraabe about 4 years ago

pytask - v0.1.3

Just a follow up release for v0.1.2 which

  • adds packaging to the dependencies of the package.
  • rounds time units of the duration to integers.

- Python
Published by tobiasraabe about 4 years ago

pytask - v0.1.2

This release includes a lot of enhancements and cleanups for the displayed information.

  • Skipped and persisted tasks are not displayed in the table with the default verbosity.
  • The number of rows in the execution table is limited to 15 items to make the display cleaner and the update process smoother.
  • The duration of the execution is displayed in a human readable way and not just in total seconds.
  • --show-errors-immediately allows to display errors with tracebacks as soon as they occur.

For more information, check out the changelog.

- Python
Published by tobiasraabe about 4 years ago

pytask - v0.1.1

- Python
Published by tobiasraabe over 4 years ago

pytask - v0.1.0

This release includes several new features:

  • A live table to see the progress during the execution.
  • Interrupt the execution with a KeyboardInterruptError and display collected reports.
  • Beautiful rendering of tracebacks from subprocesses.
  • and other improvements listed in the release notes.

- Python
Published by tobiasraabe over 4 years ago

pytask - v0.0.16

- Python
Published by tobiasraabe over 4 years ago

pytask - v0.0.15

What's Changed

  • Add citation. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/78
  • Pretty format tasks with mixed priorities, simplify findcommonancestor function and others. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/80
  • Raise error if paths are not correctly cased on case-insensitive Windows. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/81
  • Fix error in path normalization. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/84
  • Sort collected tasks, dependencies, and products. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/85
  • Replace versioneer with setuptools_scm. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/83
  • Fix dirty version in the documentation. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/87
  • Allow profiling tasks. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/88
  • Fix display of squared brackets in console output. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/93
  • Add --show-locals which prints local variables in tracebacks. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/94
  • Add a dynamic spinner to show the progress during collection. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/96
  • Enable color support in WSL + Windows Terminal and fix show_locals. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/99
  • Add new command pytask dag to visualize the DAG. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/101
  • Add example if parametrized with an incorrect number of arg_values." by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/102
  • Simplify the logging of task outcomes. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/105
  • Add new hook pytaskunconfigure, return borrowed pdb.settrace at the end of session, reenable tests for PytaskPDB. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/107
  • Refine graph implemented in #101. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/108
  • Require networkx>=2.4 due to Python 3.9. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/109
  • Add "New Features" to README.rst. by @tobiasraabe in https://github.com/pytask-dev/pytask/pull/110

Full Changelog: https://github.com/pytask-dev/pytask/compare/v0.0.14...v0.0.15

- Python
Published by tobiasraabe over 4 years ago

pytask - v0.0.14

- Python
Published by tobiasraabe almost 5 years ago

pytask - v0.0.13

- Python
Published by tobiasraabe almost 5 years ago

pytask - v0.0.12

- Python
Published by tobiasraabe almost 5 years ago

pytask - v0.0.12rc0

- Python
Published by tobiasraabe about 5 years ago

pytask - v0.0.11

- Python
Published by tobiasraabe about 5 years ago

pytask - v0.0.10

- Python
Published by tobiasraabe over 5 years ago

pytask - v0.0.9

- Python
Published by tobiasraabe over 5 years ago

pytask - v0.0.8

- Python
Published by tobiasraabe over 5 years ago

pytask - v0.0.7

- Python
Published by tobiasraabe over 5 years ago

pytask - v0.0.6

- Python
Published by tobiasraabe over 5 years ago

pytask - v0.0.5

- Python
Published by tobiasraabe over 5 years ago

pytask - v0.0.4

- Python
Published by tobiasraabe over 5 years ago

pytask - v0.0.3

- Python
Published by tobiasraabe over 5 years ago

pytask - v0.0.2

- Python
Published by tobiasraabe over 5 years ago

pytask - v0.0.1

- Python
Published by tobiasraabe over 5 years ago