App
Installation
File Structure
Standard file structure for python packages as follows:
-
<main folder name>
-
docs/
- LICENSE.txt
- README.md <- .rst file type preferred in python, but .md is more common overall
-
src/ <- dedicated src is not always done but recommended for compatibility
-
<module name>
<- often the same name as the main folder, but should be a subfolder-
__init__.py
<- an empty file can be all that's needed at times. However, importing items here can be useful as they will be accessible to any file that is importing the overall module -
_version.py
<- autogenerated by versioneer using info from setup.cfg [^1] main.py
utils.py
<any other python files>
-
-
- versioneer.py <- must be here in the top level folder [^1]
- setup.py <- must be here in the top level folder [^2]
- setup.cfg <- must be here in the top level folder [^2]
- requirements.txt <- must be here in the top level folder [^3]
- MANIFEST.in <- Not strictly required
-
docs/
[^1]: Unlike versioneer.py
, _version.py
does not have to be on the top level folder, which I prefer so it does not clutter the project and can be more easily accessed in the project. setup.cfg should be changed so that the file path of the src/<module>, where _version.py
will be kept is given
[^2]: Some applications use only one- a setup.py or setup.cfg, but versioneer prefers both.
[^3]: Can be autogenerated by PyCharm. Will not be blank as must have versioneer at least.
Project Structure References
- https://github.com/yngvem/python-project-structure
- https://github.com/johnthagen/python-blueprint#project-structure
Usage
Run src/YerrabelliFlask/main.py
with python
Tested OS and History Details
- Tested primarily on/with
- Mac OS X (10.14 Mojave on a 2018 Macbook pro)
- python 3.6-3.9 derived from anaconda
- PyCharm
License
See LICENSE.txt
Author & Contact info
Rahul Yerrabelli
Service | URL |
---|---|
GitHub | https://github.com/ryerrabelli/ |
ORCID | https://orcid.org/0000-0002-7670-9601 |
Google Scholar | https://scholar.google.com/citations?user=pEvGRdkAAAAJ |
https://www.linkedin.com/in/ryerrabelli | |
Table generated using https://www.tablesgenerator.com/markdown_tables