this is a description
Project description
intro
suppose you want to make a comand line tool called icrop. it accept integer as numbers ouput carrots we need to feed
ex:
cmd> icrop 2
ouput: 4
we can get the output by two ways:
-
command line
icrop 2
-
call python moudle
python -m icrop 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 icrop/__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 icrop/__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 icrop/__main__.py
does not work?
because top-level package is icrop now.
logging
Always use logging for log print,dont use
printlogging config is controlled by
logging.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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file icrop-0.0.1-py2.py3-none-any.whl
.
File metadata
- Download URL: icrop-0.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 2, Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e72938932037ca7a8fe951a8494ea262370f610d8c6f7ed96a1d2256e11a1ef0 |
|
MD5 | 3b818230fe346939295f46be1d038512 |
|
BLAKE2b-256 | 2f111b8a6419930fc60d385d711dced8fd076cc90c4ab60f785c7979877ccf82 |