freshcrate
Home > Frameworks > weasel

weasel

Weasel: A small and easy workflow system

Description

<a href="https://explosion.ai"><img src="https://explosion.ai/assets/img/logo.svg" width="125" height="125" align="right" /></a> # Weasel: A small and easy workflow system Weasel lets you manage and share **end-to-end workflows** for different **use cases and domains**, and orchestrate training, packaging and serving your custom pipelines. You can start off by cloning a pre-defined project template, adjust it to fit your needs, load in your data, train a pipeline, export it as a Python package, upload your outputs to a remote storage and share your results with your team. Weasel can be used via the [`weasel`](https://github.com/explosion/weasel/blob/main/docs/cli.md) command and we provide templates in our [`projects`](https://github.com/explosion/projects) repo. ![Illustration of project workflow and commands](https://raw.githubusercontent.com/explosion/weasel/main/docs/assets/images/projects.svg) ## πŸ’‘ Example: Get started with a project template The easiest way to get started is to clone a project template and run it – for example, this [end-to-end template](https://github.com/explosion/projects/tree/v3/pipelines/tagger_parser_ud) that lets you train a spaCy **part-of-speech tagger** and **dependency parser** on a Universal Dependencies treebank. ```shell python -m weasel clone pipelines/tagger_parser_ud ``` > **Note** > > Our [`projects`](https://github.com/explosion/projects) repo includes various > project templates for different NLP tasks, models, workflows and integrations > that you can clone and run. The easiest way to get started is to pick a > template, clone it and start modifying it! ## πŸ“• Documentation Get started with the documentation: - [Learn how to create a Weasel workflow](https://github.com/explosion/weasel/blob/main/docs/tutorial/workflow.md) - [Working with directory and assets](https://github.com/explosion/weasel/blob/main/docs/tutorial/directory-and-assets.md) - [Running custom scripts](https://github.com/explosion/weasel/blob/main/docs/tutorial/custom-scripts.md) - [Using remote storage](https://github.com/explosion/weasel/blob/main/docs/tutorial/remote-storage.md) - [Weasel integrations](https://github.com/explosion/weasel/blob/main/docs/tutorial/integrations.md) - [Command line interface description](https://github.com/explosion/weasel/blob/main/docs/cli.md) ## Migrating from spaCy Projects Weasel is a standalone replacement for spaCy Projects. There are a few backward incompatibilities that you should be aware of: - The `SPACY_CONFIG_OVERRIDES` environment variable is no longer checked. You can set configuration overrides using `WEASEL_CONFIG_OVERRIDES`. - Support for the `spacy_version` configuration key has been dropped. - Support for the `check_requirements` configuration key has been dropped. - Support for `SPACY_PROJECT_USE_GIT_VERSION` environment variable has been dropped. - Error codes are now Weasel-specific, and do not follow spaCy error codes. Weasel checks for the first three incompatibilities and will issue a warning if you're using it with spaCy-specific configuration options.

Release History

VersionChangesUrgencyDate
1.0.0Imported from PyPI (1.0.0)Low4/21/2026
release-v1.0.0* Migrate to Pydantic v2, dropping Pydantic v1 shim * Migrate `requests` -> `httpx` * Migrate `typer-slim` -> `typer` * Open version ranges on dependencies We've previously used closed version ranges on dependencies but as our tree has grown the maintenance burden of this approach down in the tree is too large. I'm going to try just open ranges on these small dependencies instead.Low3/20/2026
release-v0.4.3Release release-v0.4.3Low11/13/2025
release-v0.4.2* Fix deprecation warning from click usage * Use typer-slim for more minimal dependenciesLow11/6/2025
v0.4.1## ✨ New features and improvements - Updates to the CI (#89). - Extend the Typer pin to allow v0.10.0 and above (#87). ## πŸ‘₯ Contributors @aymenkrifa, @honnibal, @ines, @svlandegLow5/15/2024
v0.4.0## ✨ New features and improvements - Update `cloudpathlib` upper pin to 1.0.0 (#78). - Update `smart_open` upper pin to 8.0.0 (#84). - Drop support for EOL Python 3.6 (#85). ## πŸ”΄ Bug fixes - Fix issue #66: Support fetching a file from a git repo as an asset. ## πŸ‘₯ Contributors @BLKSerene, @danieldk, @honnibal, @ines, @jeffrey12cali, @ringohoffman, @svlandegLow4/4/2024
v0.3.4## πŸ”΄ Bug fixes - Update CLI command messages for Weasel usage (#71). - Customize help messages to refer to either `weasel` or `spacy project` depending on calling command (#72). - Fix `KeyError` in `document` command when updating older READMEs (#74). ## πŸ‘₯ Contributors @adrianeboyd, @honnibal, @ines, @ljvmiranda921, @svlandegLow11/6/2023
v0.3.3## ✨ New features and improvements - Update for cloudpathlib 0.16 to fully support Python 3.12 including remote storage (#68). ## πŸ‘₯ Contributors @adrianeboyd, @honnibal, @ines, @svlandegLow10/16/2023
v0.3.2## πŸ”΄ Bug fixes - Extend to `typer<0.10.0` to align with spaCy (#64). ## πŸ‘₯ Contributors @adrianeboyd, @honnibal, @ines, @svlandegLow10/4/2023
v0.3.1## ✨ New features and improvements This release introduces support for Python 3.12, with the exception of remote storage support, which currently still requires Python 3.11 or earlier. As soon as `cloudpathlib` supports Python 3.12, remote storage support will also be available in Weasel. - Remove `catalogue` requirement (#57). - Update docs for `cloudpathlib` and Python 3.12 (#60). - Update warning and tests for Python 3.12 (#61). ## πŸ”΄ Bug fixes - Fix warning message code for `maLow9/25/2023
v0.3.0## ✨ New features and improvements - Remove requirements check due to `pkg_resources` deprecation (#49). - Update package metadata (#54). ## πŸ”΄ Bug fixes - Skip tests requiring git if it is not available (#55). ## ⚠️ Backwards incompatibilities - Weasel no longer attempts to check requirements from `requirements.txt` and support for the `check_requirements` configuration key has been dropped. ## πŸ‘₯ Contributors @adrianeboyd, @honnibal, @ines, @rmitsch, @svlandegLow8/14/2023
v0.2.0## ✨ New features and improvements - Switch from Pathy to cloudpathlib (#43). - Update setup for Python 3.6+ support (#45). - Replace `pydantic.BaseSettings` with simpler checks (#46). - Extend to confection v0.1 (#50). - Allow Pydantic v2 using transitional v1 support (#52). ## πŸ”΄ Bug fixes - Accept both `SPACY PROJECT` and `WEASEL` in markers (#42). - Fix error code E501 (#47). ## πŸ‘₯ Contributors @adrianeboyd, @honnibal, @ines, @rmitsch, @svlandegLow8/4/2023
v0.1.1## πŸ”΄ Bug fixes - Fixing an incorrectly defined entry point preventing `weasel` from being used via CLI (#38) - Add a pin for `pydantic` to ensure a working `pre-commit` run (#39) ## πŸ‘₯ Contributors @adrianeboyd, @honnibal, @ines, @rmitsch, @svlandegLow7/7/2023
v0.1.0This is the very first release of our new Weasel library, a standalone replacement for spaCy Projects. Weasel lets you manage and share **end-to-end workflows** for different **use cases and domains**, and orchestrate training, packaging and serving your custom pipelines. You can start off by cloning a pre-defined project template, adjust it to fit your needs, load in your data, train a pipeline, export it as a Python package, upload your outputs to a remote storage and share your results witLow6/9/2023
v0.1.0rc0This is a release candidate of our new Weasel library, a standalone replacement for spaCy Projects. It's published for testing purposes.Low6/5/2023

Dependencies & License Audit

Loading dependencies...

Similar Packages

pre-commitA framework for managing and maintaining multi-language pre-commit hooks.v4.6.0
azure-core-tracing-opentelemetryMicrosoft Azure Azure Core OpenTelemetry plugin Library for Pythonazure-template_0.1.0b6187637
spdx-toolsSPDX parser and tools.0.8.5
lacesDjango components that know how to render themselves.0.1.2
django-tasksA backport of Django's built in Tasks framework0.12.0