Search code examples
pythonsetuptoolspython-packagingpyproject.toml

pythons files are being ignored with pyproject.toml


the python files are ignored under src(mlm) directory. I have included the mlm directory in where for finding packages.

[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"


[project]
name = "arichuvadi"
version = "0.0.3"
authors = [
  { name="vanangamudi", email="[email protected]" },
]
description = "a basic set of tools to work with Tamil text"
readme = "YENNAI_PADI.txt"
license = { file="LICENSE" }
requires-python = ">=3.5"
classifiers = [
    "Programming Language :: Python :: 3",
    "Operating System :: OS Independent",
]

[project.urls]

[tool.setuptools]
include-package-data = true

[tool.setuptools.packages.find]
where = ["src"]  # ["."] by default
include = ["*.py"]  # ["*"] by default
exclude = []  # empty by default
namespaces = true  # true by default

and here is the directory layout of the project

(arichuvadi)$ tree
.
├── LICENSE
├── MANIFEST.in
├── src
│   ├── arichuvadi.py
│   ├── orunguri-tha.py
│   ├── tharavu
│   │   ├── adaiyalamitta-ari.txt
│   │   ├── ari.txt
│   │   └── ari-uni.txt
│   └── valam.py
├── pyproject.toml
├── README.org -> YENNAI_PADI.txt
├── setup.py
└── YENNAI_PADI.txt

Solution

  • Your src directory simply does not contain a python package (or module) due to a missing __init__.py. You should arrive at something like this:

    .
    ├── LICENSE
    ├── MANIFEST.in
    ├── src
    │   ├── my_actual_package_name
    │   |   ├── __init__.py
    │   │   ├── arichuvadi.py
    │   │   ├── orunguri-tha.py
    │   │   ├── tharavu
    │   │   │   ├── adaiyalamitta-ari.txt
    │   │   │   ├── ari.txt
    │   │   │   └── ari-uni.txt
    │   │   └── valam.py
    ├── pyproject.toml
    ├── README.org -> YENNAI_PADI.txt
    ├── setup.py
    └── YENNAI_PADI.txt
    
    

    You should also make sure to setup package_data configuration if you want to include the txt files in your package.