Spaces:
Runtime error
Runtime error
| [build-system] | |
| requires = ["setuptools", "numpy", "Cython"] | |
| build-backend = "setuptools.build_meta" | |
| [project] | |
| name = "infinigen" | |
| readme = "README.md" | |
| license = {file = "LICENSE"} | |
| dynamic = ["version"] | |
| description = "Infinite Photorealistic Worlds using Procedural Generation" | |
| keywords = [ | |
| "computer vision", | |
| "data generation", | |
| "procedural" | |
| ] | |
| classifiers = [ | |
| "Framework :: Blender", | |
| "Programming Language :: Python :: 3", | |
| "Programming Language :: Python :: 3.10" | |
| ] | |
| requires-python = "==3.10.*" | |
| dependencies = [ | |
| "bpy==3.6.0", | |
| "frozendict", # TODO remove | |
| "geomdl", # used only for creatures | |
| "gin_config>=0.5.0", | |
| "gradio>=4.0.0", # for web interface | |
| "imageio", | |
| "matplotlib", | |
| "networkx", | |
| "numpy<2", | |
| "openai>=1.0.0", # for web interface | |
| "opencv-python", | |
| "pandas", | |
| "psutil", | |
| "python-dotenv>=1.0.0", # for web interface | |
| "pyyaml>=6.0", # for web interface | |
| "scikit-image", | |
| "scikit-learn", | |
| "scipy", | |
| "shapely", | |
| "submitit", | |
| "tqdm", | |
| "trimesh", | |
| # used by trimesh, we could specify "trimesh[easy]" but this brings more packages | |
| "python-fcl", | |
| "rtree", | |
| ] | |
| [project.optional-dependencies] | |
| terrain = [ | |
| "landlab==2.6.0", | |
| "pyrender", | |
| ] | |
| vis = [ | |
| "einops", | |
| "flow_vis", | |
| "numba", # for ground truth visuals | |
| "pyglet<2" # for trimesh_scene.show() | |
| ] | |
| dev = [ | |
| "pytest", | |
| "pytest-ordering", | |
| "pytest-cov", | |
| "pytest-xdist", | |
| "pytest-timeout", | |
| "pytype", | |
| "ruff", | |
| "isort", | |
| "tabulate", | |
| "rapidfuzz", | |
| "pre-commit" | |
| ] | |
| wandb = [ | |
| "wandb" | |
| ] | |
| [tool.setuptools] | |
| # include-package-data is terribly named. package-data is still included if false, | |
| # just not the package-data setuptools would otherwise autogenerate from MANIFEST.in or version control | |
| include-package-data = false | |
| [tool.setuptools.packages.find] | |
| include = ["infinigen*"] | |
| # must be specified as module paths with ., using classic filepaths with / will silently not do anything | |
| exclude = [ | |
| "infinigen.datagen.customgt.dependencies*", | |
| "infinigen.datagen.customgt.build*", | |
| ] | |
| [tool.setuptools.package-data] | |
| "*" = ["*.gin", "*.txt", "*.json"] | |
| # Must be specified as paths relative to infinigen/ | |
| "infinigen" = [ | |
| "terrain/**/*.soil", # extra files for SoilMachine | |
| "terrain/lib/**/*.so", # created by terrain compilation | |
| "terrain/lib/**/*.o", # created by terrain compilation | |
| "datagen/customgt/build/customgt", # created during opengl compilation | |
| "assets/objects/creatures/parts/nurbs_data/*.npy", # stores creature nurbs centroids data, ideally will be deprecated | |
| ] | |
| [tool.setuptools.dynamic] | |
| version = {attr = "infinigen.__version__"} | |
| [tool.pytest.ini_options] | |
| testpaths = "tests" | |
| junit_family = "xunit2" | |
| markers = ["nature", "indoors", "skip_for_ci"] | |
| timeout = 240 | |
| filterwarnings = [ | |
| "ignore:The value of the smallest subnormal for <class 'numpy.float:UserWarning", | |
| # ignore warnings from landlab, not our problem | |
| "ignore:pkg_resources is deprecated as an API:DeprecationWarning", | |
| "ignore:Importing from numpy.matlib is deprecated since 1.19.0:PendingDeprecationWarning", | |
| "ignore:Please import `label` from the `scipy.ndimage` namespace; the `scipy.ndimage.measurements` namespace is deprecated and will be removed in SciPy 2.0.0:DeprecationWarning" | |
| ] | |
| [tool.cibuildwheel] | |
| test-extras = ["dev"] | |
| test-command = "pytest tests" | |
| [tool.ruff] | |
| target-version = "py310" | |
| exclude = [ | |
| "*.ipynb", | |
| # exclude known submodules | |
| "infinigen/datagen/customgt/dependencies/", | |
| "infinigen/OcMesher", | |
| "infinigen/infinigen_gpl", | |
| # exclude copied-in external code | |
| "infinigen/terrain/mesh_to_sdf", | |
| "infinigen/terrain/mesher/_marching_cubes_lewiner*" | |
| ] | |
| [tool.ruff.lint] | |
| select = [ | |
| "E", | |
| "I", | |
| "F", | |
| "S102", # no exec(), | |
| "TID252", # relative imports only allowed for siblings | |
| ] | |
| ignore = [ | |
| "E501", # over-length lines, formatter should handle it | |
| "E741", # ambigous variable name | |
| ] | |
| [tool.ruff.lint.per-file-ignores] | |
| "**/__init__.py" = [ | |
| "F401", | |
| "CPY001", # runs during PRs, but no need for copyright on boilerplate/often-empty __init__.py | |
| ] | |
| "infinigen/assets/*" = ["F841"] #transpiler currently creates lots of unused variables | |
| [tool.pytype] | |
| inputs = ['infinigen', 'infinigen_examples'] |