[metadata]
name = openworm_ai
version = attr: openworm_ai.__version__
description = Investigating the use of LLMs and other AI technology in OpenWorm
long_description = file: README.md
long_description_content_type = text/markdown
url = https://openworm.ai
author = OpenWorm contributors
author_email = p.gleeson@gmail.com
maintainer = Padraig Gleeson
maintainer_email = p.gleeson@gmail.com
license = LGPLv3
license_files = LICENSE
classifiers = 
	Intended Audience :: Science/Research
	Natural Language :: English
	Operating System :: OS Independent
	Topic :: Scientific/Engineering
	Intended Audience :: Science/Research
	Programming Language :: Python
	Programming Language :: Python :: 3
	Programming Language :: Python :: 3 :: Only
	Programming Language :: Python :: 3.8
	Programming Language :: Python :: 3.9
	Programming Language :: Python :: 3.10
	Programming Language :: Python :: 3.11
	Programming Language :: Python :: 3.12
	Topic :: Scientific/Engineering
	Topic :: Software Development
	Typing :: Typed

[options]
packages = find:
install_requires = 
	bs4
	pandas
	modelspec
	llama_index
	llama-index-llms-ollama
	matplotlib
python_requires = >=3.8
include_package_data = True

[options.packages.find]
where = .
exclude = 
	openworm_ai*/corpus/wormatlas/*_files/*
	*.png
	*.jpg
include = 
	openworm_ai*

[options.package_data]
* = corpus/*/*.html

[options.extras_require]
test = 
	pytest
	ruff
dev = 
	openworm_ai[test]
	langchain
	langchain_openai
	llamaapi
	langchain_experimental
	langchain_ollama
	llama-index-embeddings-ollama
all = 
	openworm_ai[test]

[tool:isort]
profile = black
multi_line_output = 3

[flake8]
max-line-length = 80
max-complexity = 13
select = C, E, F, W, B, B9, T
ignore = E203, E231, E501, E722, W503, B950
per-file-ignores = 
	tests/*: T
	examples/*: T
	notebooks/*: T
	docs/*: T
	scripts/*: T
	setup.py: T
	setup_helpers.py: C901

[check-manifest]
ignore = 
	.ruff_cache
	.pre-commit-config.yaml
	.readthedocs.yml

[egg_info]
tag_build = 
tag_date = 0

