Releasing my Python Project

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • warehouse

    The Python Package Index

  • I have published the package to Python Package Index, commonly called PyPi, and in this post, I'll be sharing the steps I had to follow in the process.

  • til-page-builder

    A command-line tool for authoring "Today I Learned" posts in Markdown, which can be converted to HTML for publishing on the web.

  • I have been working on til-page-builder for this whole semester, and as the term approaches its end, I thought it was a good time to release the project.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • sampleproject

    A sample project that exists for PyPUG's "Tutorial on Packaging and Distributing Projects"

  • from setuptools import setup, find_packages from src.til_page_builder.version import __version__ as version with open("requirements.txt") as f: requirements = f.read().splitlines() setup( name="til_page_builder", version=version, packages=find_packages(), install_requires=requirements, entry_points={ "console_scripts": [ "til_page_builder=til_page_builder.til_builder_main:main", # Adjust 'module_name' and 'main' accordingly ], }, python_requires=">=3.8", classifiers=[ "Programming Language :: Python :: 3", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", ], author="Amnish Singh Arora", author_email="[email protected]", description="A command-line tool for authoring 'Today I Learned' posts in Markdown, which can be converted to HTML for publishing on the web.", long_description=open("README.md").read(), long_description_content_type="text/markdown", url="https://github.com/pypa/sampleproject", project_urls={ "Homepage": "https://github.com/pypa/sampleproject", "Issues": "https://github.com/pypa/sampleproject/issues", }, )

  • black

    The uncompromising Python code formatter

  • 1. LICENSE: This file contains information about the rights and permissions granted to users regarding the use, modification, distribution, and sharing of the software. I already had an MIT License in my project. 2. pyproject.toml: It is a configuration file typically used for specifying build requirements and backend build systems for Python projects. I was already using this file for Black code formatter configuration. 3. README.md: Used as a documentation file for your project, typically includes project overview, installation instructions and optionally, contribution instructions. 4. example_package_YOUR_USERNAME_HERE: One big change I had to face was restructuring my project, essentially packaging all files in this directory. The name of this directory should be what you want to name your package and shoud not conflict with any of the existing packages. Of course, since its a Python Package, it needs to have an __init__.py. 5. tests/: This is where you put all your unit and integration tests, I think its optional as not all projects will have tests. The rest of the project remains as is.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts