/ pyproject.toml
pyproject.toml
1 [project] 2 name = "selfrevolve" 3 version = "0.1.3" 4 description = "A project for generating RESTful apis given a database" 5 readme = "README.md" 6 requires-python = ">=3.11" 7 classifiers = [ 8 "Programming Language :: Python :: 3", 9 "Intended Audience :: Developers", 10 "Intended Audience :: System Administrators", 11 "License :: OSI Approved :: MIT License", 12 "Topic :: Database :: Front-Ends", 13 "Topic :: Scientific/Engineering :: Artificial Intelligence" 14 ] 15 license = "MIT" 16 license-files = ["LICENSE"] 17 dependencies = [ 18 "python-dotenv", 19 "langgraph", 20 "pytest", 21 "falcon", 22 "pytest-json-report>=1.5.0", 23 "langchain-openai>=0.3.15", 24 "ipython>=9.2.0", 25 "psycopg2-binary>=2.9.10", 26 "falcon-cors>=1.1.7", 27 "sqlparse>=0.5.3", 28 "loguru>=0.7.3", 29 "pymongo>=4.13.0", 30 "litellm>=1.72.6.post1", 31 ] 32 33 [project.urls] 34 Homepage = "https://github.com/self-evolving-runtimes/revolve" 35 Issues = "https://github.com/self-evolving-runtimes/revolve/issues" 36 37 [project.scripts] 38 revolve-api = "revolve.api:main" 39 40 [build-system] 41 requires = ["hatchling", "hatch-build-scripts"] 42 build-backend = "hatchling.build" 43 44 [tool.hatch.build] 45 # Tells Hatch that packages live under `src/` 46 sources = ["src"] 47 48 # Static files to include in the wheel 49 artifacts = [ 50 "src/revolve/ui/dist/**", 51 "src/revolve/resources/**" 52 ] 53 54 [tool.hatch.build.targets.wheel] 55 # Include all Python + resource files 56 include = [ 57 "src/revolve/**", 58 "dist" 59 ] 60 61 [tool.hatch.build.targets.sdist.hooks.build-scripts] 62 enable-by-default = false 63 64 [[tool.hatch.build.targets.wheel.hooks.build-scripts.scripts]] 65 commands = [ 66 "rm -rf node_modules || true", 67 "rm -rf dist || true", 68 "rm -rf package-lock.json || true", 69 "rm -rf yarn.lock || true", 70 "npm install", 71 "npm run build" 72 ] 73 work_dir = "src/revolve/ui" 74 artifacts = ["dist"] 75 76 [dependency-groups] 77 dev = [ 78 "ruff>=0.11.10", 79 ] 80 81 [tool.ruff] 82 # Exclude a variety of commonly ignored directories. 83 exclude = [ 84 ".bzr", 85 ".direnv", 86 ".eggs", 87 ".git", 88 ".git-rewrite", 89 ".hg", 90 ".ipynb_checkpoints", 91 ".mypy_cache", 92 ".nox", 93 ".pants.d", 94 ".pyenv", 95 ".pytest_cache", 96 ".pytype", 97 ".ruff_cache", 98 ".svn", 99 ".tox", 100 ".venv", 101 ".vscode", 102 "__pypackages__", 103 "_build", 104 "buck-out", 105 "build", 106 "dist", 107 "node_modules", 108 "site-packages", 109 "venv", 110 ] 111 112 # Same as Black. 113 line-length = 88 114 indent-width = 4 115 116 # Assume Python 3.9 117 target-version = "py39" 118 119 [tool.ruff.lint] 120 # Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default. 121 # Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or 122 # McCabe complexity (`C901`) by default. 123 select = ["E4", "E7", "E9", "F"] 124 ignore = [] 125 126 # Allow fix for all enabled rules (when `--fix`) is provided. 127 fixable = ["ALL"] 128 unfixable = [] 129 130 # Allow unused variables when underscore-prefixed. 131 dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" 132 133 [tool.ruff.format] 134 # Like Black, use double quotes for strings. 135 quote-style = "double" 136 137 # Like Black, indent with spaces, rather than tabs. 138 indent-style = "space" 139 140 # Like Black, respect magic trailing commas. 141 skip-magic-trailing-comma = false 142 143 # Like Black, automatically detect the appropriate line ending. 144 line-ending = "auto" 145 146 # Enable auto-formatting of code examples in docstrings. Markdown, 147 # reStructuredText code/literal blocks and doctests are all supported. 148 # 149 # This is currently disabled by default, but it is planned for this 150 # to be opt-out in the future. 151 docstring-code-format = false 152 153 # Set the line length limit used when formatting code snippets in 154 # docstrings. 155 # 156 # This only has an effect when the `docstring-code-format` setting is 157 # enabled. 158 docstring-code-line-length = "dynamic"