Python application structure
Directory layout
src/
cli.py OR app.py
constants.py
__init__.py
tests/
requirements.txt
setup.py
requirements.txt
Dependencies used within the venv for the project, e.g:
google-auth==1.35.0
google-auth-httplib2==0.1.0
google-auth-oauthlib==0.4.6
google-api-python-client==2.26.1
gspread==3.7.0
requests==2.25.1
oauth2client==4.1.3
setup.py
The declaration file for the application, equivalent to package.json
, e.g:
from setuptools import setup, find_packages
setup(
name="eolas-db",
version="0.1",
packages=find_packages(where="src"),
package_dir={"": "src"},
install_requires=[
# List your project dependencies here
],
entry_points={
"console_scripts": [
"eolas-db=cli:main",
],
},
)
The entry_points
key is important. This is the first execution point of the application. Typically you would name your entry-point script as app.py
or cli.py
and then specify its main
function.
E.g. in cli.py
:
def main():
print('run the application')
if __name__ == "__main__":
main()
__init__.py
See Python_modules_and_imports#distinguishing-_modules_-from-_packages_|Python modules]]