You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
3.0 KiB
91 lines
3.0 KiB
"""
|
|
Setup script for Formal Specification Generation System
|
|
"""
|
|
|
|
from setuptools import setup, find_packages
|
|
from pathlib import Path
|
|
|
|
# Read README file
|
|
readme_path = Path(__file__).parent / "README.md"
|
|
long_description = readme_path.read_text(encoding="utf-8") if readme_path.exists() else ""
|
|
|
|
# Read requirements
|
|
requirements_path = Path(__file__).parent / "requirements.txt"
|
|
requirements = []
|
|
if requirements_path.exists():
|
|
with open(requirements_path, "r", encoding="utf-8") as f:
|
|
requirements = [line.strip() for line in f if line.strip() and not line.startswith("#")]
|
|
|
|
setup(
|
|
name="formal-spec-generator",
|
|
version="0.1.0",
|
|
author="国防科大计算机学院22级软件工程小班刘卓小组",
|
|
author_email="your-email@example.com",
|
|
description="基于大型语言模型的形式化程序规范自动生成验证系统",
|
|
long_description=long_description,
|
|
long_description_content_type="text/markdown",
|
|
url="https://github.com/your-username/formal-spec-generator",
|
|
packages=find_packages(where="src"),
|
|
package_dir={"": "src"},
|
|
classifiers=[
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: Science/Research",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Topic :: Software Development :: Quality Assurance",
|
|
"Topic :: Software Development :: Testing",
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
],
|
|
python_requires=">=3.8",
|
|
install_requires=requirements,
|
|
extras_require={
|
|
"dev": [
|
|
"pytest>=7.4.0",
|
|
"pytest-cov>=4.1.0",
|
|
"pytest-mock>=3.11.1",
|
|
"black>=23.7.0",
|
|
"flake8>=6.1.0",
|
|
"mypy>=1.5.1",
|
|
],
|
|
"docs": [
|
|
"sphinx>=5.0.0",
|
|
"sphinx-rtd-theme>=1.0.0",
|
|
],
|
|
"llm-providers": [
|
|
"openai>=1.3.0",
|
|
"anthropic>=0.7.0",
|
|
],
|
|
},
|
|
entry_points={
|
|
"console_scripts": [
|
|
"formal-spec=ui.cli:main",
|
|
"fsg=ui.cli:main",
|
|
"spec-gen=ui.cli:main",
|
|
],
|
|
},
|
|
include_package_data=True,
|
|
package_data={
|
|
"": [
|
|
"templates/*.html",
|
|
"static/css/*",
|
|
"static/js/*",
|
|
"static/images/*",
|
|
"config/*.yaml",
|
|
"spec/templates/*.yaml",
|
|
"cbmc/Makefile.common",
|
|
],
|
|
},
|
|
zip_safe=False,
|
|
keywords="formal-methods, verification, llm, cbmc, static-analysis",
|
|
project_urls={
|
|
"Bug Reports": "https://github.com/your-username/formal-spec-generator/issues",
|
|
"Source": "https://github.com/your-username/formal-spec-generator",
|
|
"Documentation": "https://formal-spec-generator.readthedocs.io/",
|
|
},
|
|
) |