Skip to content

Mark project as Beta and enhance metadata with type hints#12

Merged
ochui merged 3 commits into
mainfrom
feat/typed
May 7, 2026
Merged

Mark project as Beta and enhance metadata with type hints#12
ochui merged 3 commits into
mainfrom
feat/typed

Conversation

@ochui
Copy link
Copy Markdown
Member

@ochui ochui commented May 7, 2026

This pull request updates the project metadata in pyproject.toml to improve discoverability and better reflect the current state of the project. The most important changes are:

Project Metadata Improvements:

  • Added new keywords (flowdacity, tailback) to the keywords list to enhance package discoverability.
  • Updated the development status classifier from "Alpha" to "Beta" to indicate increased project maturity.
  • Added the Typing :: Typed classifier to indicate the use of type annotations in the codebase.

Summary by CodeRabbit

  • Chores
    • Updated project metadata and package classifiers to reflect current project status

ochui added 2 commits May 7, 2026 13:43
Updates project metadata to reflect Beta development status and adds typing information for improved type checking support. Also includes project name in keywords to enhance discoverability.
Copilot AI review requested due to automatic review settings May 7, 2026 12:50
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 7, 2026

Review Change Stack

Warning

Rate limit exceeded

@ochui has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 31 minutes and 27 seconds before requesting another review.

To continue reviewing without waiting, purchase usage credits in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7514b6ef-d4c7-4f37-a51c-22ea1b08fcb2

📥 Commits

Reviewing files that changed from the base of the PR and between 6c5fa22 and 41fa876.

📒 Files selected for processing (10)
  • src/tailback/base.py
  • src/tailback/config.py
  • src/tailback/keys.py
  • src/tailback/lua.py
  • src/tailback/queue.py
  • src/tailback/redis.py
  • src/tailback/responses.py
  • src/tailback/sync/queue.py
  • src/tailback/utils.py
  • src/tailback/validators.py
📝 Walkthrough

Walkthrough

The PR updates pyproject.toml project metadata by adding two new keywords ("flowdacity" and "tailback"), updating the Development Status classifier, and adding a "Typing :: Typed" classifier to indicate full type annotation coverage.

Changes

Project Metadata Updates

Layer / File(s) Summary
Keywords Metadata
pyproject.toml
Two new keywords, "flowdacity" and "tailback", are added to the keywords array.
Classifiers Metadata
pyproject.toml
Development Status classifier is updated and a new "Typing :: Typed" classifier is added to the classifiers list.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 Whiskers twitch with pure delight,
Keywords and classifiers shine so bright!
Typing's typed, the project grows,
Metadata blooms where knowledge flows. 🌿✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main changes: marking the project as Beta and adding type hints metadata.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/typed

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pyproject.toml`:
- Line 36: The package advertises typing support via the "Typing :: Typed"
classifier while only a py.typed marker exists and the codebase lacks real type
hints; remove the "Typing :: Typed" classifier from pyproject.toml (the line
containing "Typing :: Typed") unless you plan to add comprehensive annotations,
or conversely add PEP 484 annotations across the code (start with public APIs
and functions missing return annotations) and include a py.typed marker;
specifically either delete the "Typing :: Typed" entry from pyproject.toml or
add inline type hints (parameter and return types) for the many untyped
functions so the classifier accurately reflects the package.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 8a24c2c5-4509-4940-b59e-a41345416baf

📥 Commits

Reviewing files that changed from the base of the PR and between d1fded6 and 6c5fa22.

📒 Files selected for processing (2)
  • pyproject.toml
  • src/tailback/py.typed

Comment thread pyproject.toml
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: System :: Distributed Computing",
"Topic :: Utilities",
"Typing :: Typed",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify the package has py.typed marker and type annotations

# Check for py.typed marker file
echo "=== Checking for py.typed marker file ==="
fd -t f '^py\.typed$' src/

# Check for type annotations in Python source files
echo -e "\n=== Checking for type annotations in source files ==="
rg -t py --type-not=python -t py -C2 'def \w+\([^)]*:\s*\w+|^\s*\w+:\s*\w+' src/tailback/ | head -n 50

# Check if __init__.py or main modules have type annotations
echo -e "\n=== Checking key module files ==="
fd -e py -t f . src/tailback/ -x head -n 30 {}

Repository: flowdacity/tailback

Length of output: 9121


🏁 Script executed:

#!/bin/bash
# Analyze type annotation coverage across the codebase

echo "=== Files with type hints (checking for function/variable annotations) ==="
fd -e py -t f . src/tailback/ | while read file; do
  # Count lines with type hints (simple heuristic: contains ': ' in function defs/variables)
  hints=$(grep -E '^\s*(def|class|@dataclass|\w+:).*:.*(\w+|\[.*\]|None|int|str|bool|Any)' "$file" 2>/dev/null | wc -l)
  lines=$(wc -l < "$file")
  if [ "$hints" -gt 0 ]; then
    echo "$file: $hints type-hinted lines / $lines total"
  fi
done

echo -e "\n=== Python version requirement check ==="
rg 'python.*=' pyproject.toml | head -5

echo -e "\n=== Checking function definitions without return type hints ==="
fd -e py -t f . src/tailback/ -x grep -l 'def ' {} \; | while read file; do
  no_return=$(grep -c '^[[:space:]]*def [^:]*:$' "$file" 2>/dev/null || echo 0)
  if [ "$no_return" -gt 0 ]; then
    echo "$file: $no_return functions without return type annotation"
  fi
done

Repository: flowdacity/tailback

Length of output: 1003


Remove the "Typing :: Typed" classifier or add comprehensive type annotations throughout the codebase.

The package has a py.typed marker file but lacks meaningful type annotations. Only 1 type-hinted line exists across the entire codebase, while 89+ functions are missing return type annotations. Per PEP 561, the presence of py.typed signals to type checkers that the package contains inline type hints; without them, this classifier misleads users about the package's type support. Either add comprehensive type annotations or remove this classifier until typing coverage is substantially improved.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pyproject.toml` at line 36, The package advertises typing support via the
"Typing :: Typed" classifier while only a py.typed marker exists and the
codebase lacks real type hints; remove the "Typing :: Typed" classifier from
pyproject.toml (the line containing "Typing :: Typed") unless you plan to add
comprehensive annotations, or conversely add PEP 484 annotations across the code
(start with public APIs and functions missing return annotations) and include a
py.typed marker; specifically either delete the "Typing :: Typed" entry from
pyproject.toml or add inline type hints (parameter and return types) for the
many untyped functions so the classifier accurately reflects the package.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates the project’s published packaging metadata to better reflect project maturity and typing support, improving PyPI discoverability and signaling readiness to users.

Changes:

  • Added flowdacity and tailback to the project keywords.
  • Updated the trove classifier from “Development Status :: 3 - Alpha” to “Development Status :: 4 - Beta”.
  • Added the “Typing :: Typed” classifier (and includes a py.typed marker file in the package).

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.

File Description
pyproject.toml Updates keywords and trove classifiers (Beta status + typed classifier).
src/tailback/py.typed PEP 561 marker file indicating the package ships typing information.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Adds and refines type annotations across all core modules to improve code readability, maintainability, and static analysis capabilities.

Clarifies function signatures, return types, and class attributes, aiding both contributors and tooling in understanding expected types and reducing runtime errors.

No functional changes introduced; focuses solely on developer experience and code quality.
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 11 out of 12 changed files in this pull request and generated 1 comment.

Comment thread pyproject.toml
Comment on lines 24 to 37
@@ -31,6 +33,7 @@ classifiers = [
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: System :: Distributed Computing",
"Topic :: Utilities",
"Typing :: Typed",
]
@ochui ochui merged commit 0853cbd into main May 7, 2026
11 checks passed
@ochui ochui deleted the feat/typed branch May 7, 2026 13:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants