Skip to main content

Quick-PyPI

The simplest and quickest way to build and publish a PyPI package

Installation

pip install quick-pypi

Minimum Example

Before you start, you need to have several things:

  • Determine a unique PyPI package name, easy to remember, like 'quick-pypi-test';
  • Have a PyPI account, then export your upload token to a txt file in your computer;
  • Use PyCharm IDE or VSCode to develop your own package. We support Jupyter Notebook now!

Step 1: Prepare your project tree like:

Project Root
 -- src
   -- your_package_name
     -- __init__.py
     -- your_class.py   # where you can write your own code!
 -- dists               # auto generated folder storing uploading version history
   -- 0.0.1
   -- 0.0.2
   -- ...
   -- VERSION           # a file storing the latest version of uploading
 quick_pypi.py          # Main settings of uploading package

Step 2: The simplest quick_pypi.py file content is below:

from quick_pypi.deploy import *
auto_deploy(
    cwd=os.path.dirname(os.path.realpath(__file__)), # When using jupyter notebook, using `cwd=os.getcwd()`
    name="quick-pypi-test",
    description="This is a quick-pypi-test package!",
    pypi_token='../../pypi_upload_token.txt', # the token string or path from your PyPI account
)

Step 3: Deploy the package to PyPI server

After you finish writing your codes in the src package, you can just simply right-click the quick-pypi.py to run, and wait for its completion.

Step 4: Check if the package is uploaded successfully!

Complicated Example settings for advanced users

A real example is here:

from quick_pypi.deploy import *
# or you can use: `from quick_pypi.deploy_toml import *`

auto_deploy(
    cwd=os.path.dirname(os.path.realpath(__file__)),
    name="pyrefworks",
    long_name="A Python Toolkit for RefWorks Data Analysis",
    description="Converting RefWorks files into a CSV table file",
    long_description="This is a project to convert RefWork files to a CSV file",
    src_root="src",
    dists_root=f"dists",
    pypi_token='../pypi_upload_token.txt', # a file storing the token from your PyPI account
    test=False, # determine if uploading to test.pypi.org
    version="0.0.1a0", # fixed version when uploading or using version='auto'
    project_url="http://github.com/dhchenx/pyrefworks",
    author_name="Donghua Chen",
    author_email="xxx@xxx.com",
    requires="quick-csv",
    license='MIT',
    license_filename='LICENSE',
    keywords="refworks, csv file",
    github_username="dhchenx",
    max_number_micro=20, # major.minor.micro
    max_number_minor=20, # version maximum numbers in each part, e.g. 0.0.20 --> 0.1.0; 0.20.20 --> 1.0.0
    # only_build=True
)

Here you can provide more information about your package, like setting your author's name, email, license, short or long names and descriptions, etc.

Deploy to local computer without upload

import quick_pypi as qp

qp.deploy(
    src_root="src",
    dist_root='data/dist1',
   # name="quick-pypi-test",
   # description="This is a quick-pypi project",
    version="0.0.1a0", # fixed version number, wont change
   # project_url="http://github.com/dhchenx/quick-pypi-test",
   #  author_name="Donghua Chen",
    # author_email="douglaschan@126.com",
    # requires="jieba;quick-crawler",
    # license='MIT',
    # license_filename='LICENSE'

)

This will generate a series of actual package files (e.g. README.md, LICENSE,setup.py, etc. ).

Then, you can manually build the package through twine in the directory of dist1.

An example using our toolkit to deploy in the PyPI platform is demonstrated here.

License

The quick-pypi project is provided by Donghua Chen.

Release files for quick-pypi 0.0.4

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

Source distribution (sdist)

Source distribution for quick-pypi 0.0.4
File Size Uploaded
quick-pypi-0.0.4.tar.gz 20.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for quick-pypi 0.0.4
File Interpreter ABI Platform
quick_pypi-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 53.2 kB

Release files / quick-pypi-0.0.4.tar.gz

Download URL quick-pypi-0.0.4.tar.gz
Size 20.3 kB
Tags Source
SHA-256 checksum
How to use checksums
2e566ea2fe51d46fc56894f4ee3e0f713e107ecd07a3063300d8af4f4f65178e
BLAKE2b-256 checksum
How to use checksums
8de4dd563026d0534c47494c1242aeeebc1ea53692bb52c545a87d2935fefbfb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

Release files / quick_pypi-0.0.4-py3-none-any.whl

Download URL quick_pypi-0.0.4-py3-none-any.whl
Size 32.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fdbb261ea3d4b9f6dc5806a177c32e536f952db796c97f458ecdfb72ea150132
BLAKE2b-256 checksum
How to use checksums
da3ca051b745caecfa92403393726e7b2b3f909536ce39b741bb9fe21c1cf4d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11
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