resume-maker-ai-agent / pyproject.toml
Deepak Pant
updated streamlit to be the part of the project
e395566
[project]
name = "resume_maker_ai_agent"
version = "0.0.1"
description = "This app will modify the resume as per the job description."
readme = "README.md"
authors = [{ name = "Deepak Pant", email = "[email protected]" }]
requires-python = ">=3.10,<=3.13"
dependencies = [
"crewai[tools]>=0.86.0,<1.0.0",
"streamlit >=1.41.1",
# "python-docx >=1.1.2",
"pypdf (>=5.1.0,<6.0.0)",
"pysqlite3-binary >=0.5.4",
]
[project.urls]
repository = "https://github.com/DeepakPant93/resume-maker-ai-agent"
documentation = "https://DeepakPant93.github.io/resume-maker-ai-agent/"
[project.optional-dependencies]
dev = [
"deptry==0.16.2",
"mypy==1.5.1",
"pre-commit==3.4.0",
"tox==4.11.1",
"ipykernel==6.25.0",
"black==23.9.0",
"build==1.2.2",
"bump-my-version==0.28.2",
"codespell==2.2.5",
"wheel==0.41.0",
"twine==4.0.0",
"bandit==1.8.0",
"pylint==3.0.0",
"pydocstyle==6.3.0",
]
docs = [
"mkdocs==1.5.0",
"sphinx==7.2.0",
"mkdocs-git-revision-date-plugin==0.3.2",
"mkdocs-git-revision-date-localized-plugin==1.3.0",
"mkdocs-jupyter>=0.25.1",
"mkdocs-pdf-export-plugin==0.5.10",
"mkdocs-material>=9.1.3",
"mkdocstrings-crystal==0.3.7",
"pygments==2.16.0",
"pymdown-extensions==10.0",
"nbconvert==7.16.5",
"nbformat==5.9.0",
"livereload==2.6.3",
"watchdog==3.0.0",
"mkdocstrings[python]==0.27.0",
"mkdocs-minify-plugin==0.8.0",
]
[project.scripts]
resume_maker_ai_agent = "resume_maker_ai_agent.__main__:main"
[build-system]
requires = ["poetry-core>=2.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.mypy]
files = ["resume_maker_ai_agent"]
disallow_untyped_defs = true
disallow_any_unimported = true
no_implicit_optional = true
check_untyped_defs = true
warn_return_any = true
warn_unused_ignores = true
show_error_codes = true
pretty = true
show_traceback = true
ignore_missing_imports = true
exclude = ['.venv/', 'venv/', '.env/', 'env/']
[[tool.mypy.overrides]]
module = [
"joblib.*",
"yaml.*",
"ensure.*",
"fastapi_health.*",
"crewai.*",
"crewai_tools.*",
"bs4.*",
"streamlit.*",
"sql_connection.*",
"connections.*",
"resume_maker_ai_agent.crew",
]
ignore_missing_imports = true
ignore_errors = true
# disable_error_code = ["import-untyped", "import-not-found", "redundant-cast"]
[tool.pytest.ini_options]
testpaths = ["tests"]
norecursedirs = "legacy_tests"
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
filterwarnings = [
"ignore:.*general_plain_validator_function.*:DeprecationWarning",
"ignore:.*with_info_plain_validator_function.*:DeprecationWarning",
]
[tool.ruff]
target-version = "py39"
line-length = 120
fix = true
select = [
# flake8-2020
"YTT",
# flake8-bandit
"S",
# flake8-bugbear
"B",
# flake8-builtins
"A",
# flake8-comprehensions
"C4",
# flake8-debugger
"T10",
# flake8-simplify
"SIM",
# isort
"I",
# mccabe
"C90",
# pycodestyle
"E",
"W",
# pyflakes
"F",
# pygrep-hooks
"PGH",
# pyupgrade
"UP",
# ruff
"RUF",
# tryceratops
"TRY",
]
ignore = [
# LineTooLong
"E501",
# DoNotAssignLambda
"E731",
# Possible binding to all interfaces - Require for Docker container
"S104",
]
[tool.ruff.format]
preview = true
[tool.coverage.report]
skip_empty = true
[tool.coverage.run]
branch = true
source = ["resume_maker_ai_agent"]
# parallel = true
# concurrency = ["thread"]
omit = [
"**/__init__.py", # Exclude all init files
"resume_maker_ai_agent/crew.py", # Exclude crew.py file
"resume_maker_ai_agent/config/*", # Exclude all files in config folder
"resume_maker_ai_agent/models/*", # Exclude all files in model folder
]
[tool.ruff.per-file-ignores]
"tests/*" = ["S101"]
[tool.bumpversion]
current_version = "0.0.1"
commit = true
tag = true
[[tool.bumpversion.files]]
glob = "pyproject.toml"
search = 'version = "{current_version}"'
replace = 'version = "{new_version}"'
[tool.deptry]
exclude = [
"research",
"artifacts",
"notebooks",
"tests",
"docs",
".venv",
"venv",
"__pycache__",
".ruff_cache",
".pytest_cache",
".mypy_cache",
".coverage",
".git",
"build",
"dist",
".github",
"site",
"config",
]
ignore = ["DEP003"]
[tool.pydocstyle]
select = ["D101", "D102"]
[tool.isort]
profile = "black"
known_third_party = ["requests", "bs4", "pydantic", "crewai_tools"]
default_section = "THIRDPARTY"
force_sort_within_sections = true
line_length = 120