Skip to main content

reveriee

Turn your idea into a published Python package. Create the project files with one command, then check everything before you upload.

PyPI License Python

Publishing your first Python package means getting a lot of small files and settings right. One wrong detail, like a version that already exists or a README full of stray symbols, only shows up after you upload, and a published version can never be changed. reverie sets up the boring parts correctly and warns you about the common mistakes first.

See it in action

reverie check on a demo project

Install

pip install reveriee

The package on PyPI is called reveriee, but the command you run is still reverie.

Create a new package

reverie new my-tool

reverie checks that the name is free on PyPI, asks for a one-line description and your name, and creates a ready-to-install project:

my-tool/
  pyproject.toml
  README.md
  LICENSE
  .gitignore
  my_tool/
    __init__.py
    __main__.py
    cli.py

The new project already installs and runs and prints a hello message. Open cli.py and replace the hello message with your own idea.

Check before you upload

Inside your project folder, run:

reverie check

or point it at a folder:

reverie check my-tool

It looks for the mistakes that most often hurt first-time publishers:

It looks for Why it matters
A version that is already on PyPI A version can never be uploaded twice
Old files left in the dist folder The upload would send them too
Stray backslashes, or leftover web page codes, in the README Your PyPI page would look broken
Images in the README that PyPI cannot see They would show as broken pictures
A missing LICENSE file The build fails, or people will not use your package
A missing code folder or init.py Your code would not be in the package
A command that points to code that does not exist The command would fail after install
A missing main.py python -m your_tool would not work
Version numbers that do not match Easy to forget when you raise the version

Every problem comes with a plain-language fix. Add --offline to skip the PyPI lookup.

Publish

When reverie check says no problems, you need a free PyPI account and an API token. Then:

pip install build twine
python -m build
twine check dist/*
twine upload dist/*

Delete any old dist folder before you build.

Command not recognised?

On some Windows computers the reverie command is not found right after installing, because Windows does not know where pip put it. Start it through Python instead:

python -m reverie check

If pip says "defaulting to user installation" or "not writeable" while installing, that is normal and harmless.

Good to know

  • reverie does not write your program for you. It sets up the packaging, and the idea is yours.
  • It does not upload anything. You do that yourself with twine, after the check.
  • Package names use lowercase letters, numbers and hyphens, like my-tool.
  • The name check and the version check need an internet connection.

License

MIT

Metadata

Release files for reveriee 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for reveriee 0.1.0
File Size Uploaded
reveriee-0.1.0.tar.gz 10.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for reveriee 0.1.0
File Interpreter ABI Platform
reveriee-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 21.9 kB

Release files / reveriee-0.1.0.tar.gz

Download URL reveriee-0.1.0.tar.gz
Size 10.9 kB
Tags Source
SHA-256 checksum
How to use checksums
740d85a823b091646d1d8f3043e01679e3090548239bf1dfd0a5c5a24124a93c
BLAKE2b-256 checksum
How to use checksums
4f155b505f771c034e9fcd74ddc716f964fdc0014ee7b9b784c0880dce9fcdb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / reveriee-0.1.0-py3-none-any.whl

Download URL reveriee-0.1.0-py3-none-any.whl
Size 11.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cfc4ce6d1712c20f8017f2b662ed21ef5ef7cc743984acc59a76f211ffaae78a
BLAKE2b-256 checksum
How to use checksums
124d58c2abb3595872909666d380e94cc080741abdb81a8df2b7a7b78661d39b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page