Skip to main content

No project description provided

Project description

Guide

  1. Require:

    • Python >= 3.7
    • Poetry >= 1.2.0
  2. Prepare

    • Install poetry
    • Using poetry to create new source or init to existed source
  3. Configure pyproject.toml

    • Minimum requirements
    [tool.poetry]
    name = "demopythonlib"      -> project / package name
    version = "0.1.0"           -> pypi only accept code with new version 
    packages = [{include = "demopythonlib"}] -> is package should be packed then push to pypi
    
    ...
    
    [tool.poetry.dependencies]
    python = "^3.12"            -> python version should fit with your project
    ...
    
    [tool.poetry.scripts]
    say-hi = "demopythonlib:say_hi"     -> add custom command to run directly from terminal -> like "celery -A worker ...."
    ...
    
    
  4. Prepare your pypi account

    • Create new if you need: https://pypi.org/account/register/
    • Add 2FA to your account
    • Login > Account Settings > Tokens
    • Add API Token: create a token for all projects (for first time publish) - copy it and securely storage
  5. Publish first time

    • Build

      $ poetry build
      
      ->  Building demopythonlib (0.1.0)
          - Building sdist
          - Built demopythonlib-0.1.0.tar.gz
          - Building wheel
          - Built demopythonlib-0.1.0-py3-none-any.whl
      
    • Add credential

      $ poetry config pypi-token.pypi <your-token>
      
    • Publish

      $ poetry publish
      
      ->  Publishing demopythonlib (0.1.0) to PyPI
          - Uploading demopythonlib-0.1.0-py3-none-any.whl 100%
          - Uploading demopythonlib-0.1.0.tar.gz 100%
      
    • Recheck: go to https://pypi.org/project/project-name/

      for my example ->  https://pypi.org/project/demopythonlib/
      
  6. Revoke your full access token above, then create new token for this project for security

  7. Publish new version

    • In pyproject.toml, change version manually
      [tool.poetry]
      name = "demopythonlib"
      version = "0.1.1"       -> change from 0.1.0 to 0.1.1 for example  
      
    • Or use bump2version (https://github.com/c4urself/bump2version)
    • Build then publish
      $ poetry build
      
      ->  Building demopythonlib (0.1.1)
          - Building sdist
          - Built demopythonlib-0.1.1.tar.gz
          - Building wheel
          - Built demopythonlib-0.1.1-py3-none-any.whl
      
      
      $ poetry publish
      
      ->  Publishing demopythonlib (0.1.1) to PyPI
          - Uploading demopythonlib-0.1.1-py3-none-any.whl 100%
          - Uploading demopythonlib-0.1.1.tar.gz 100%
      
  8. Integrate locally

    • From main project, You need to import this library locally,
    $ poetry add ./<path/to/your/lib> --editable
    
    • Use option "--editable" if you want changes in your local library to be reflected immediately in your project
  9. What next?

    • Add precommit, bump2verion, ...
    • Add tests
    • Integrate with github/gitlab
      • run workflow CI/CD
      • build then publish new release to pypi automatically

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

demopythonlib-0.1.5.tar.gz (2.2 kB view details)

Uploaded Source

Built Distribution

demopythonlib-0.1.5-py3-none-any.whl (3.2 kB view details)

Uploaded Python 3

File details

Details for the file demopythonlib-0.1.5.tar.gz.

File metadata

  • Download URL: demopythonlib-0.1.5.tar.gz
  • Upload date:
  • Size: 2.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/5.15.0-107-generic

File hashes

Hashes for demopythonlib-0.1.5.tar.gz
Algorithm Hash digest
SHA256 51de3f316a8c46210ddeefde41c9e9325fd6c04e7196ac3610aaed426f438b6a
MD5 ab2538c0e714153b3961a5945c09033e
BLAKE2b-256 f73bf35dc0abdc35c8091efaba9a852ed486afb1d671b3723e23c95473281e0e

See more details on using hashes here.

File details

Details for the file demopythonlib-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: demopythonlib-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 3.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/5.15.0-107-generic

File hashes

Hashes for demopythonlib-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7a40793cdfff7009edab1294d9a00b32d7a6c346493b229bb673b7131f021e36
MD5 37c6773591bda89d014f1a8e25012405
BLAKE2b-256 da09cc20e3829ba666e5074df98598ffcbfc34ad3772ddd3bfa2633e719bcd02

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page