All Projects β†’ jhermann β†’ rituals

jhermann / rituals

Licence: GPL-2.0 license
πŸ”§ πŸ“¦ Project automation task library for β€˜Invoke’ tasks that are needed again and again.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to rituals

Orgzly Android
Outliner for taking notes and managing to-do lists
Stars: ✭ 2,042 (+6706.67%)
Mutual labels:  tasks
composer
API-first task runner with three methods: task, run and watch.
Stars: ✭ 35 (+16.67%)
Mutual labels:  tasks
release-for-reddit-action
πŸš€οΈ Submit a Reddit post about your release in GitHub Actions
Stars: ✭ 13 (-56.67%)
Mutual labels:  release-automation
Svelto.tasks
Svelto Tasks - C# promises compliant multi-threaded tasks runner
Stars: ✭ 159 (+430%)
Mutual labels:  tasks
Ipoli Android
Fun & Motivational Todo List with Calendar for Android written in Kotlin. Using Redux, coroutines, Firebase and Clean Architecture.
Stars: ✭ 234 (+680%)
Mutual labels:  tasks
vindigo
πŸ“ A brand new kanban inspired planning tool for all your projects. πŸ’»
Stars: ✭ 52 (+73.33%)
Mutual labels:  tasks
Ff
A distributed note taker and task manager.
Stars: ✭ 149 (+396.67%)
Mutual labels:  tasks
rgh
Creates GitHub release and upload asset files
Stars: ✭ 21 (-30%)
Mutual labels:  release-automation
Todoman
βœ… A simple, standards-based, cli todo (aka: task) manager.
Stars: ✭ 247 (+723.33%)
Mutual labels:  tasks
release-changelog-builder-action
A GitHub action that builds your release notes / changelog fast, easy and exactly the way you want.
Stars: ✭ 515 (+1616.67%)
Mutual labels:  release-automation
Flask Rq2
A Flask extension for RQ.
Stars: ✭ 176 (+486.67%)
Mutual labels:  tasks
Praveshan
For Joining [emailΒ protected]
Stars: ✭ 220 (+633.33%)
Mutual labels:  tasks
hubkit
Project maintainance tool for GitHub repositories
Stars: ✭ 27 (-10%)
Mutual labels:  release-automation
Foy
A simple, light-weight and modern task runner for general purpose.
Stars: ✭ 157 (+423.33%)
Mutual labels:  tasks
attribution
Generate changelogs from commit tags and shortlogs
Stars: ✭ 20 (-33.33%)
Mutual labels:  release-automation
Flightplan
Run sequences of shell commands against local and remote hosts.
Stars: ✭ 1,804 (+5913.33%)
Mutual labels:  tasks
dispatcher
Dispatcher is an asynchronous task queue/job queue based on distributed message passing.
Stars: ✭ 60 (+100%)
Mutual labels:  tasks
taskctl
Concurrent task runner, developer's routine tasks automation toolkit. Simple modern alternative to GNU Make 🧰
Stars: ✭ 237 (+690%)
Mutual labels:  tasks
craft
The universal Sentry release CLI πŸš€
Stars: ✭ 117 (+290%)
Mutual labels:  release-automation
activiti-examples
Alfresco Process Services powered by Activiti Examples.
Stars: ✭ 58 (+93.33%)
Mutual labels:  tasks

Rituals

Common tasks for Invoke that are needed again and again.

GINOSAJI … and again and again.

β€ˆGroups β€ˆTravis CI β€ˆCoveralls β€ˆGitHub Issues β€ˆLicense β€ˆDevelopment Status β€ˆLatest Version

Overview

β€œRituals” is a task library for Invoke that keeps the most common tasks you always need out of your project, and makes them centrally maintained. This leaves your tasks.py small and to the point, with only things specific to the project at hand. The following lists the common task implementations that the rituals.easy module offers. See the full docs on how to integrate them into your tasks.py.

  • help – Default task, when invoked with no task names.
  • clean – Perform house-cleaning.
  • build – Build the project.
  • test – Perform standard unittests.
  • check – Perform source code checks.
  • release.bump – Bump a development version.
  • release.dist – Distribute the project.
  • release.prep – Prepare for a release (perform QA checks, and switch to non-dev versioning).
  • … and many more, see inv -l for a complete list.

The guiding principle for these tasks is to strictly separate low-level tasks for building and installing (via setup.py) from high-level convenience tasks a developer uses (via invoke). Invoke tasks can use Setuptools ones as building blocks, but never the other way 'round – this avoids any bootstrapping headaches during package installations.

Use inv -h β€Ήtaskβ€Ί as usual to get details on the options of these tasks. Look at the modules in acts if you want to know what these tasks do exactly. Also consult the full documentation for a complete reference.

πŸ’‘ The easiest way to get a working project using rituals is the py-generic-project cookiecutter archetype. That way you have a working project skeleton within minutes that is fully equipped, with all aspects of building, testing, quality checks, continuous integration, documentation, and releasing covered.

Some Practical Examples

The following table shows a selection of typical use-cases and how to carry them out in projects that include Rituals in their tasks.py (e.g. this one).

Command Description
inv docs -w -b Start a sphinx-autobuild watchdog and open the resulting live-reload preview in your browser.
inv test.tox --clean -e py34 Run tox for Python 3.4 with a clean status, i.e. an empty .tox directory.
inv release.bump Set the tag_build value in setup.cfg to something like 0.3.0.dev117+0.2.0.g993edd3.20150408t1747, uniquely identifying dev builds, even in dirty working directories.

See the full documentation for more examples and a complete reference.

Contributing

To create a working directory for this project, call these commands:

git clone "https://github.com/jhermann/rituals.git"
cd rituals
command . .env --yes --develop  # add '--virtualenv /usr/bin/virtualenv' for Python2
invoke build --docs test check

To use the source in this working directory within another project, change your current directory to this project, then call bin/pip from that project's virtualenv like so:

…/.venv/…/bin/pip install -e .

See CONTRIBUTING for more.

Throughput Graph

Releasing

This is the process of releasing rituals itself, projects that use it will have an identical to very similar sequence of commands.

inv release.prep
inv release.dist --devpi # local release + tox testing

git push && git push --tags # … and wait for Travis CI to do its thing

twine upload -r pypi dist/*

If you have any pending changes, staged or unstaged, you'll get an error like this:

uncommitted changes

Related Projects

Acknowledgements

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].