Support Guidelines#

Thank you for using asyncutils! This document outlines how to get help with this project.

Before jumping to seek support, do skim through the readme.

Bug Reports#

If you’ve found a bug, please:

  1. Check if it’s already reported in Issues

  2. If so, participate meaningfully there

  3. Open a new issue otherwise, possibly using make bug to scrape environment information into the issue form

  4. Enter the remaining required information

  5. Await review and respond to questions

Feature Requests#

Have an idea? We’d love to hear it!

  • Search existing issues to avoid duplicates

  • Explain the use case and expected behaviour

  • Include examples in non-trivial cases

Questions#

Community Support#

Quick Questions#

For quick questions, consider:

  • Checking existing issues/discussions

  • Reading the FAQ section below

  • Asking in community channels

Security Issues#

Never report security vulnerabilities publicly.

See the security policy for details.

Common Issues & Solutions#

Installation Problems#

Update your package installer, then try the following fixes:

uv pip install -U py-asyncutils # Upgrade
uv pip check # Check for dependency shenanigans
uv pip tree # Pretty print the pip packages dependency tree
uv tree # Show only the dependencies of this package
uv pip uninstall py-asyncutils && uv pip install py-asyncutils # Clean install

Other (slower) package managers:

pip install -U pipx && pipx ensurepath # pipx, installed with pip
conda update py-asyncutils # conda
# pip
pip install -U pipdeptree && pipdeptree # Quite a bit more clutter than uv pip tree, showing a single package repeatedly
pipdeptree --packages py-asyncutils # Only this package as above

Import Errors#

Check if asyncutils is installed:

# uv
uv pip show py-asyncutils
# pip
pip show py-asyncutils
# or
pip list | grep py-asyncutils

If the package is not working with python, perform the steps below:

# Check sys.path
python3 -c "print(*__import__('sys').path, sep='\n')"
# Check for package naming conflicts; following snippet should print altlocks, base, buckets, channels, cli, compete, config, console
# constants, context, events, exceptions, ... separated by newlines
python3 -c "print(*__import__('asyncutils').__all__, sep='\n')"

Response Times#

As fast as I can; that is:

  • Bug reports: 3 days

  • Feature requests: Reviewed biweekly

  • Security issues: 1 day

  • General questions: Community-driven

I will try to make a post on the discussions page (e.g. hiatus announcement) and set my status to ‘On vacation’ or similar in case of inactivity such that I cannot fulfil these promises or meet other deadlines I set myself.

Remarks#

Don’t:

  • Bump issues with +1 or “me too”

  • Email maintainers unless urgent

  • Ask about ETA of features/fixes

  • Post API keys or passwords

Instead:

  • React to issues

  • Open discussions or issues, or a pull request if the problem is easily fixable

  • Be patient

Once again, thank you for supporting this small project. Happy programming!