Closed jimthompson5802 closed 1 month ago
Thanks for spotting, @jimthompson5802! I believe I’ve had a similar problem in USearch and may have fixed it by supplying include_dirs=…
in setup.py. I’d appreciate if you could open a PR. Otherwise, I can look at it after Friday.
@ashvardanian I'll look to create a PR with your suggested fix.
thank you for the quick response.
@ashvardanian Took a stab at your suggestion of include_dirs=...
from USearch. Did not seem to work. Following are the details.
I'm assuming you are referencing this section of USearch setup.py
:
include_dirs = [
"include",
"python",
"stringzilla/include",
]
and here
setup(
name=__lib_name__,
version=__version__,
packages=["usearch"],
package_dir={"usearch": "python/usearch"},
description="Smaller & Faster Single-File Vector Search Engine from Unum",
author="Ash Vardanian",
author_email="info@unum.cloud",
url="https://github.com/unum-cloud/usearch",
long_description=long_description,
long_description_content_type="text/markdown",
license="Apache-2.0",
classifiers=[
"Development Status :: 5 - Production/Stable",
"Natural Language :: English",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: C++",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Java",
"Programming Language :: JavaScript",
"Programming Language :: Objective C",
"Programming Language :: Rust",
"Programming Language :: Other",
"Operating System :: MacOS",
"Operating System :: Unix",
"Operating System :: Microsoft :: Windows",
"Topic :: System :: Clustering",
"Topic :: Database :: Database Engines/Servers",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
],
include_dirs=include_dirs,
Assuming the above is correct, I tried same construct in simsimd
setup.py
as follows:
I then tried building the source distribution file with this command:
python -m build --sdist
Unfortunately, the resulting simsimd-5.4.3.tar.gz
does not contain the include
sub-directory contents. It contains this...
/workspace# tar -tzf dist/simsimd-5.4.3.tar.gz
simsimd-5.4.3/
simsimd-5.4.3/LICENSE
simsimd-5.4.3/PKG-INFO
simsimd-5.4.3/README.md
simsimd-5.4.3/c/
simsimd-5.4.3/c/lib.c
simsimd-5.4.3/pyproject.toml
simsimd-5.4.3/python/
simsimd-5.4.3/python/annotations/
simsimd-5.4.3/python/annotations/__init__.pyi
simsimd-5.4.3/python/annotations/py.typed
simsimd-5.4.3/python/lib.c
simsimd-5.4.3/setup.cfg
simsimd-5.4.3/setup.py
simsimd-5.4.3/simsimd.egg-info/
simsimd-5.4.3/simsimd.egg-info/PKG-INFO
simsimd-5.4.3/simsimd.egg-info/SOURCES.txt
simsimd-5.4.3/simsimd.egg-info/dependency_links.txt
simsimd-5.4.3/simsimd.egg-info/not-zip-safe
simsimd-5.4.3/simsimd.egg-info/top_level.txt
I'll continue working on this to see if I can arrive at the correct setup configuration. I am open to suggestions.
Gotcha! Either way, feel free to open a PR at any point, I can progress from there 🤗
Describe the bug
With a source code install of the package, the install process fails with the following message:
Steps to reproduce
This generates the following output
Extracting the contents of the downloaded
simsimd-5.4.3.tar.gz
we see that theinclude
sub-directory with the header files is missing.Expected behavior
Expected the
simsimd
package to be installed.SimSIMD version
v5.4.3
Operating System
Debian GNU/Linux 12 (bookworm)
Hardware architecture
x86
Which interface are you using?
Python bindings
Contact Details
jimthompson5802@gmail.com
Are you open to being tagged as a contributor?
.git
history as a contributorIs there an existing issue for this?
Code of Conduct