Skip to content

Deprecate delighted package - Delighted sunset June 30, 2026#26

Open
jflores-q wants to merge 1 commit intomasterfrom
deprecate-delighted-sunset
Open

Deprecate delighted package - Delighted sunset June 30, 2026#26
jflores-q wants to merge 1 commit intomasterfrom
deprecate-delighted-sunset

Conversation

@jflores-q
Copy link

Summary

Delighted is being sunset on June 30, 2026. This is the final release of the delighted Python package (v4.2.0), marking it as deprecated and inactive.

For more information, visit the Delighted Sunset FAQ.

Changes

  • Version bump to 4.2.0 in delighted/__init__.py
  • Added FutureWarning at import time in delighted/__init__.py, so users see a deprecation notice when they import delighted. Uses FutureWarning (not DeprecationWarning) because FutureWarning is visible by default in all Python environments. DeprecationWarning is suppressed by default for non-__main__ modules.
  • Added deprecation banner to the top of README.md. setup.py uses the README as the PyPI package description, so this notice will appear prominently on the PyPI project page.
  • Changed Development Status classifier from Production/Stable to Inactive in setup.py.
  • Updated author_email from ben@delighted.com to hello@delighted.com in setup.py. The previous address belongs to a former team member. hello@delighted.com is the active Delighted support address.
  • Added 4.2.0 entry to CHANGELOG.md.

What users will see

On import delighted:

FutureWarning: Delighted is being sunset on June 30, 2026. This package
is deprecated and will no longer be maintained or receive updates. For
more information, visit the Delighted Sunset FAQ:
https://help.delighted.com/article/840-delighted-sunset-faq

On the PyPI project page: A deprecation banner at the top of the package description. After archiving, PyPI will also show an "archived" badge.

Pre-merge validation (all passed)

Check Result
python setup.py sdist Built dist/delighted-4.2.0.tar.gz successfully
twine check dist/delighted-4.2.0.tar.gz PASSED
Archive contents inspection Contains PKG-INFO, README.md, setup.py, delighted/ package
pip install dist/delighted-4.2.0.tar.gz Installed successfully
python -c "import delighted" FutureWarning displayed correctly on stderr
PKG-INFO Version 4.2.0
PKG-INFO Author-email hello@delighted.com
PKG-INFO Classifier Development Status :: 7 - Inactive

This PR is good to merge. After merging, follow the post-merge steps:

  1. Tag the release as v4.2.0
  2. Build source distribution: python setup.py sdist
  3. Upload to PyPI: twine upload dist/delighted-4.2.0.tar.gz
  4. Archive the project on PyPI settings
  5. Archive this GitHub repository
Local validation steps (reproduce the checks above)

1. Build the source distribution

python setup.py sdist

This creates dist/delighted-4.2.0.tar.gz. You'll see a SetuptoolsDeprecationWarning about setup.py. That's expected and harmless (the repo doesn't have a pyproject.toml).

2. Validate metadata with twine

pip install twine
twine check dist/delighted-4.2.0.tar.gz
# Expected: "Checking dist/delighted-4.2.0.tar.gz: PASSED"

3. Inspect the archive contents

tar tzf dist/delighted-4.2.0.tar.gz | head -20
# Confirm it contains: PKG-INFO, README.md, setup.py, delighted/__init__.py, etc.

4. Install locally and test the warning

pip install dist/delighted-4.2.0.tar.gz
python -c "import delighted" 2>&1

You should see:

<string>:1: FutureWarning: Delighted is being sunset on June 30, 2026. This package is deprecated
and will no longer be maintained or receive updates. For more information, visit the Delighted
Sunset FAQ: https://help.delighted.com/article/840-delighted-sunset-faq

FutureWarning is used instead of DeprecationWarning because Python suppresses DeprecationWarning by default for non-__main__ modules. FutureWarning is shown to all users in all environments.

Clean up after testing:

pip uninstall delighted -y

5. Verify PKG-INFO metadata

python -c "
import tarfile
with tarfile.open('dist/delighted-4.2.0.tar.gz') as t:
    info = t.extractfile('delighted-4.2.0/PKG-INFO')
    for line in info.read().decode().split('\n')[:15]:
        print(line)
"

Confirm the output includes:

  • Version: 4.2.0
  • Author-email: hello@delighted.com
  • Classifier: Development Status :: 7 - Inactive

Delighted is being sunset on June 30, 2026. This is the final release
of the delighted Python package.

Changes:
- Bump version to 4.2.0
- Add FutureWarning on import to notify all users
- Add deprecation banner to README (visible on PyPI page)
- Change Development Status classifier to Inactive
- Update author_email to hello@delighted.com (active support address)
- Add deprecation entry to CHANGELOG

See: https://help.delighted.com/article/840-delighted-sunset-faq
@jflores-q jflores-q self-assigned this Mar 5, 2026
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.

1 participant