Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,11 @@ To set up the development environment:
-python setup.py
```

If you would like to use uv instead, copy and paste **pyproject-uv.toml** to **pyproject.toml**, then run the following command.
```
uv sync
```
Comment on lines +75 to +78
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: Instructing users to copy pyproject-uv.toml over pyproject.toml is problematic. This overwrites the Poetry configuration and could break the existing setup. Consider using uv sync --pyproject pyproject-uv.toml or documenting this as an either/or choice, not an alternative.



3. **Run Tests**:

Expand Down
2 changes: 1 addition & 1 deletion poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

134 changes: 134 additions & 0 deletions pyproject-uv.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
[project]
name = "plexe"
version = "0.26.2"
description = "An agentic framework for building ML models from natural language"
authors = [
{ name = "Marcello De Bernardi", email = "[email protected]" },
{ name = "Vaibhav Dubey", email = "[email protected]" },
]
requires-python = ">=3.11,<3.13"
readme = "README.md"
license = "Apache-2.0"
keywords = [
"agent",
"custom ai",
"llm",
"machine learning",
"data generation",
]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [
"pandas>=1.5.0, <=2.2.0",
"imbalanced-learn>=0.12.4,<0.13",
"pydantic>=2.9.2,<3",
"scikit-learn>=1.6.1,<1.7.0",
"seaborn>=0.12.2,<0.13",
"dataclasses-json>=0.6.7,<0.7",
"bandit>=1.8.2,<2",
"joblib>=1.4.2,<2",
"mlxtend>=0.23.4,<0.24",
"xgboost>=2.1.3,<3",
"tenacity>=9.0.0,<10",
"pyarrow>=19.0.0,<20",
"litellm==1.65.8",
"statsmodels>=0.14.4,<0.15",
"hypothesis>=6.125.1,<7",
"numpy>=1.23.2,<2.0.0",
"black>=24.10.0,<25",
"jinja2>=3.1.6,<4",
"platformdirs>=4.3.7,<5",
"mlflow>=3.0.0rc2,<4",
"ray>=2.9.0,<3",
"rich>=13.7.1,<14",
"torch>=2.3.0,<3",
"smolagents>=1.14.0,<2",
"deprecated>=1.2.18,<2",
]

[project.optional-dependencies]
transformers = [
"transformers>=4.50.0,<5",
"tokenizers>=0.21.1,<0.22",
"accelerate==0.24.1",
"safetensors>=0.4.1,<0.5",
]
chatui = [
"fastapi>=0.115.12,<0.116",
"uvicorn[standard]>=0.34.2,<0.35",
"websockets~=12.0",
]
all = [
"transformers>=4.50.0,<5",
"tokenizers>=0.21.1,<0.22",
"accelerate==0.24.1",
"safetensors>=0.4.1,<0.5",
"fastapi>=0.115.12,<0.116",
"uvicorn[standard]>=0.34.2,<0.35",
"websockets~=12.0",
]

[project.urls]
Homepage = "https://github.com/plexe-ai/plexe"
Repository = "https://github.com/plexe-ai/plexe"

[project.scripts]
plexe = "plexe.main:main"

[dependency-groups]
dev = [
"pytest>=8.3.4,<9",
"pre-commit>=4.0.1,<5",
"ruff>=0.9.1,<0.10",
"jupyterlab>=4.2.5,<5",
"tox>=4.14.1,<5",
"kaggle==1.6.17",
"pytest-cov>=6.0.0,<7",
]

[tool.hatch.build.targets.sdist]
include = ["plexe"]

[tool.hatch.build.targets.wheel]
include = ["plexe"]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.semantic_release]
version_variables = ["pyproject.toml:version"]
commit_parser = "angular"
build_command = "poetry build"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: Build command still references 'poetry build' but this file uses Hatchling backend

Suggested change
build_command = "poetry build"
build_command = "hatch build"


[tool.black]
line-length = 120
target-version = ["py312"]
exclude = '''
/(
\.git
| \.venv
| __pycache__
| build
| dist
)/
'''

[tool.ruff]
line-length = 120
target-version = "py312"

[tool.ruff.lint]
ignore = [
"E203", # Whitespace before ':'
"E501", # Line length
"E402", # Imports not at top of file
]
Loading