#!/usr/bin/env python # -*- encoding: utf-8 -*- from __future__ import absolute_import from __future__ import print_function import io import re from glob import glob from os.path import basename from os.path import dirname from os.path import join from os.path import splitext from setuptools import find_packages # type: ignore from setuptools import setup # type: ignore def read(*names, **kwargs): return io.open( join(dirname(__file__), *names), encoding=kwargs.get("encoding", "utf8") ).read() setup( name="cleveragents", version="0.1.0", license="Apache", description="A Reactive Agent Based LLM tool using RxPy streams", long_description="%s\n%s" % ( re.compile("^.. start-badges.*^.. end-badges", re.M | re.S).sub( "", read("README.rst") ), re.sub(":[a-z]+:`~?(.*?)`", r"``\1``", read("CHANGELOG.rst")), ), long_description_content_type="text/x-rst", author="CleverThis", author_email="jeffrey.freeman@cleverthis.com", url="https://git.cleverthis.com/cleverthis/cleveragents", packages=find_packages("src", include=["cleveragents", "cleveragents.*"]), package_dir={"": "src"}, py_modules=[splitext(basename(path))[0] for path in glob("src/*.py")], include_package_data=True, zip_safe=False, classifiers=[ # complete classifier list: http://pypi.python.org/pypi?%3Aaction=list_classifiers "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Apache License", "Operating System :: Unix", "Operating System :: POSIX", "Operating System :: Microsoft :: Windows", "Programming Language :: Python", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: Implementation :: CPython", # uncomment if you test on these interpreters: # 'Programming Language :: Python :: Implementation :: IronPython', # 'Programming Language :: Python :: Implementation :: Jython', # 'Programming Language :: Python :: Implementation :: Stackless', "Topic :: Utilities", ], keywords=[ # eg: 'keyword1', 'keyword2', 'keyword3', ], install_requires=[ "click", "rx>=3.2.0", "jinja2", "pystache", "pyyaml", "langchain-core>=0.3.0", "langchain-openai>=0.2.0", "langchain-anthropic>=0.2.0", "langchain-google-genai>=2.0.0", "aiohttp", ], extras_require={ # eg: # 'rst': ['docutils>=0.11'], # ':python_version=="2.6"': ['argparse'], }, entry_points={ "console_scripts": [ "cleveragents = cleveragents.cli:main", ] }, )