Skip to main content

A simple tool for packaging python

Project description

template_pypackage_builder

A simple tool for packaging python

Table of Contents

Description

This tool walks you through the process of python packaging. Well it doesnot create actual package, more like a template with initial files to start with. The tool conatin following functions to help with package deployment.

  • README maker
  • LIcense creater
  • setup file creater
  • directory tree builder
  • pip code generater to install package from subdirectory of github repo
  • main function to initial package building from scratch

Installation

Install from pypi

pip install template-pypackage-builder 

Install from GitHub

pip install git+https://github.com/dipson94/packagemaker

Install requires

  • pkg_resources
  • pyperclip
  • os

Usage

Direct function from packages. Use main function to start initial package build.

import template_pypackage_builder as pb
pb.main()

Use pip_code() function to generate pip code to install package from subdirectory of github repo

import template_pypackage_builder as pb
pb.pip_code()

Alternatively use key words pysetup and gitpip directly in terminal to execute the main and pip_code functions respectively

@terminal

pysetup

@terminal

gitpip

Additional notes on package Building

Additional info about package building

including path

To include path in package file use the following command

import pkg_resources
relative_path=pkg_resources.resource_filename("packagemaker", "types")

This command is used if you want to use the path inside package in site-packages folder. Otherwise the path will be relative to the directory where you imported the package (while programming after importing the module). Here relative_path refers to the path to types folder inside installed package template_pypackage_builder.

__init__.py file handeling

The following is the tree structure of a package showing basic files and directories. From main package directory in source, each modules ( also directories) contain an __init__.py file.

└── package_name
    ├── License.txt
    ├── MANIFEST.in
    ├── README.md
    ├── setup.py
    └── src
        └── package_name
            ├── __init__.py
            ├── module_1
            │   ├── __init__.py
            │   └── module_1.py
            ├── module_2
            │   ├── __init__.py
            │   └── module_2.py
            └── module_3
                ├── __init__.py
                └── module_3.py

There are numberous ways to handel __init__.py file

Rule of thumb : keep all __init__.py files empty at first and then start addding data from main __init__.py file.

Methods

  • if you wish to include all the functions and classes in one file, then write all in main __init__.py file and discard other sub-directories (modules).
  • if you wish to follow the structure shown in the illustration then you can include those modules in main __init__.py file by
from . import (module_1,module_2,module_3)
__all__ = ["module_1","module_2","module_3"]

  • Another approach
from .module_1 import (function_1,function_2,function_3)
from .module_2 import (function_1,function_2,function_3)
from .module_3 import (function_1,function_2,function_3)

Here we are importing functions directly to main __init__.py file, so the functions are readly availble when the main module is called (or imported).

Final thoughts

template_pypackage_builder only helps with making a template or initial structure of a package. For making better package, work on the files manually using the editor.

Author

Dipson

License

GNU GPL V3

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

template_pypackage_builder-0.9.tar.gz (32.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

template_pypackage_builder-0.9-py3-none-any.whl (36.7 kB view details)

Uploaded Python 3

File details

Details for the file template_pypackage_builder-0.9.tar.gz.

File metadata

  • Download URL: template_pypackage_builder-0.9.tar.gz
  • Upload date:
  • Size: 32.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for template_pypackage_builder-0.9.tar.gz
Algorithm Hash digest
SHA256 97d21bbf06224f8ada36321957607018c3b97bde945c487a39d48afdfc765aaa
MD5 2a7ac14e600cac4fae167b95aa7c0871
BLAKE2b-256 abc64a4b881f8332023ddf3f970fc69df170f5db31c873aa5ca3b5070217bf48

See more details on using hashes here.

File details

Details for the file template_pypackage_builder-0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for template_pypackage_builder-0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 e2caab8cbd05d956524537d63ee2ab7323d12dedaf37f56d7eca41e85b67ebfd
MD5 5ddd5fe9e614587e8c427c9cac7b796d
BLAKE2b-256 049af223bb04f545a742103fcd62f553f0d2b0246db0fd486d90c3a71230fefd

See more details on using hashes here.

Supported by

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