Skip to main content

intro

suppose you want to make a comand line tool called qany. it accept integer as numbers ouput carrots we need to feed

ex:
	cmd> qany 2 
	ouput: 4

we can get the output by two ways:

  • command line

      qany  2
    
  • call python moudle

    python -m qany 2
    

best practice schema

env

Generated by make env

This is first step you need to do in any python project

  • it will create a virtual env
  • auto source it
  • install requirements for the start up

test

run make test

run

make run will run in module mode make main will run in normal mode

You can see that main.py and qany/__main__.py are the same content file.

why do we need main.py ? It is eay to make an entry in IDE , like intellij.

Could I just use __main__.py to run like this?

python qany/__main__.py

You cound not.

That is because the top-level package problem.

Ex:

python main.py 
top-level package is the same as main.py

python src/func/main.py  
top-level package is the same as main.py, aka func 
top-level package is the folder where you run this command from

So , why qany/__main__.py does not work?

because top-level package is qany now.

logging

Always use logging for log print,dont use printlogging config is controlled bylogging.yml, which can control every module level call setup_logging` in main file (ra)

make module

update readmeput moudle in the folder parallel with logx folder.

  • logx
  • your_module

packing module or cmd

local

for quick test purpose

  • install: pip install .
  • uninstall: pip uninstall <module_name>

make install make uninstall

upload to test or prod PYPI server

upload to test server:

make upload-to-test 

upload to prod server:

make upload-to-prod

test and coverage

pure test

make test

test with coverage

make coverage

Metadata

Release files for qany 0.0.2

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

Built distribution (wheel)

Table of built distributions (wheels) for qany 0.0.2
File Interpreter ABI Platform Actions
qany-0.0.2-py2.py3-none-any.whl Python 2, Python 3 none any Details for qany-0.0.2-py2.py3-none-any.whl

Release files / qany-0.0.2-py2.py3-none-any.whl

Download URL qany-0.0.2-py2.py3-none-any.whl
Size 5.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
340bfd2f4dbdd28e66f223f44fe7d1c5ea9e3389bf8ae7f5419371bad98f76c4
BLAKE2b-256 checksum
How to use checksums
9aa62f709aee3307f1362b169f5d07e91524265ee1a6c627e022a1c7eee9a6e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.4.2 requests/2.23.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1

Security for qany 0.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.2 This release

1 release file No provenance

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