vulcan-core


Namevulcan-core JSON
Version 1.2.0 PyPI version JSON
download
home_pageNone
SummaryAI-Hybrid Rules Engine for Logical Reasoning.
upload_time2025-07-14 19:45:56
maintainerNone
docs_urlNone
authorNone
requires_python<4.0,>=3.12
licenseApache-2.0
keywords rules logic reasoning ai artificial intelligence rag llm
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!-- SPDX-License-Identifier: Apache-2.0 -->
<!-- Copyright 2025 Latchfield Technologies http://latchfield.com -->
<img alt="Vulcan Logo" src="https://latchfield.com/vulcan/assets/images/vulcan-logo.svg" height="100px">

# AI-Hybrid Rules Engine for Logical Reasoning
[![Version](https://img.shields.io/pypi/v/vulcan_core)](https://pypi.org/project/vulcan-core/)

Vulcan is an AI-hybrid rules engine designed for advanced automated reasoning. It combines the power of rule-based decision systems with LLMs (Large Language Models) for improved consistency and explainability in AI-powered systems.

Learn more about Vulcan at [https://latchfield.com/vulcan](https://latchfield.com/vulcan), or jump in with:

```bash
poetry add vulcan-core
# or
pip install vulcan-core
```

To gain your bearings, read the documentation for guides and API reference: [https://latchfield.com/vulcan/docs](https://latchfield.com/vulcan/docs).

## Why use Vulcan?
Vulcan strives to improve AI reliability and explainability by explicitly separating computational logic from LLM prediction through declarative rules and microprompting. Vulcan provides developers with a toolkit to create, manage, and execute rules with seamless integration with LLMs and vector databases.

### Features:
* **AI-Hybrid Rules** - Combine deterministic logic with LLMs and vector databases
* **Transparent Decision-Making** - Full explainability of how decisions are made
* **Developer-Friendly API** - Intuitive interfaces for rule creation and management
* **Platform Flexibility** - Works across various environments and integrates with existing tools

### Simple Example:
Turn your lengthy unpredictable prompts:

> As a bakery, I want to buy 10 apples if I have less than 10 in inventory, but only if my supplier has apples used for baking in stock. Given I have 9 apples, and my supplier has "Honeycrisp", how many apples should I order?

Into repeatable, consistent, and explainable rules:

```python
# Use natural language for prediction and data retrieval:
engine.rule(
    when=condition(f"Are {Apple.kind} considered good for baking?"),
    then=action(Apple(baking=True)),
)

# Use computed logic for operations that must be correct:
engine.rule(
    when=condition(lambda: Apple.baking and Inventory.apples < 10),
    then=action(Order(apples=10)),
)

# Intelligent on-demand rule evaluation:
engine.fact(Inventory(apples=9))
engine.fact(Apple(kind="Honeycrisp"))
```

## Get Involved!
We welcome contributions from the community to help make Vulcan even better:

* **Contribute Code** - Check out the [contribution guidelines](https://github.com/latchfield/vulcan/blob/main/CONTRIBUTING.md) for information on how to submit pull requests
* **Report Issues** - Found a bug or have a feature request? Open an issue on our [GitHub repository](https://github.com/latchfield/vulcan-core/issues/)
* **Join the Community** - Connect with other Vulcan users and developers on [GitHub Discussions](https://github.com/latchfield/vulcan-core/discussions)

## Additional Resources
Learn more about Vulcan:

* [Core Concepts](https://latchfield.com/vulcan/docs/concepts) - Understand the fundamental principles of Vulcan
* [Guides & Tutorials](https://latchfield.com/vulcan/docs/guides/quick-start/) - Step-by-step instructions for common use cases
* [API Reference](https://latchfield.com/vulcan/docs/) - Detailed information about the Vulcan API


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "vulcan-core",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.12",
    "maintainer_email": null,
    "keywords": "rules, logic, reasoning, ai, artificial intelligence, RAG, LLM",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/81/96/8a2da9332c49754c3a096a24672c8711181b2aa0f06d83948290263bbdb7/vulcan_core-1.2.0.tar.gz",
    "platform": null,
    "description": "<!-- SPDX-License-Identifier: Apache-2.0 -->\n<!-- Copyright 2025 Latchfield Technologies http://latchfield.com -->\n<img alt=\"Vulcan Logo\" src=\"https://latchfield.com/vulcan/assets/images/vulcan-logo.svg\" height=\"100px\">\n\n# AI-Hybrid Rules Engine for Logical Reasoning\n[![Version](https://img.shields.io/pypi/v/vulcan_core)](https://pypi.org/project/vulcan-core/)\n\nVulcan is an AI-hybrid rules engine designed for advanced automated reasoning. It combines the power of rule-based decision systems with LLMs (Large Language Models) for improved consistency and explainability in AI-powered systems.\n\nLearn more about Vulcan at [https://latchfield.com/vulcan](https://latchfield.com/vulcan), or jump in with:\n\n```bash\npoetry add vulcan-core\n# or\npip install vulcan-core\n```\n\nTo gain your bearings, read the documentation for guides and API reference: [https://latchfield.com/vulcan/docs](https://latchfield.com/vulcan/docs).\n\n## Why use Vulcan?\nVulcan strives to improve AI reliability and explainability by explicitly separating computational logic from LLM prediction through declarative rules and microprompting. Vulcan provides developers with a toolkit to create, manage, and execute rules with seamless integration with LLMs and vector databases.\n\n### Features:\n* **AI-Hybrid Rules** - Combine deterministic logic with LLMs and vector databases\n* **Transparent Decision-Making** - Full explainability of how decisions are made\n* **Developer-Friendly API** - Intuitive interfaces for rule creation and management\n* **Platform Flexibility** - Works across various environments and integrates with existing tools\n\n### Simple Example:\nTurn your lengthy unpredictable prompts:\n\n> As a bakery, I want to buy 10 apples if I have less than 10 in inventory, but only if my supplier has apples used for baking in stock. Given I have 9 apples, and my supplier has \"Honeycrisp\", how many apples should I order?\n\nInto repeatable, consistent, and explainable rules:\n\n```python\n# Use natural language for prediction and data retrieval:\nengine.rule(\n    when=condition(f\"Are {Apple.kind} considered good for baking?\"),\n    then=action(Apple(baking=True)),\n)\n\n# Use computed logic for operations that must be correct:\nengine.rule(\n    when=condition(lambda: Apple.baking and Inventory.apples < 10),\n    then=action(Order(apples=10)),\n)\n\n# Intelligent on-demand rule evaluation:\nengine.fact(Inventory(apples=9))\nengine.fact(Apple(kind=\"Honeycrisp\"))\n```\n\n## Get Involved!\nWe welcome contributions from the community to help make Vulcan even better:\n\n* **Contribute Code** - Check out the [contribution guidelines](https://github.com/latchfield/vulcan/blob/main/CONTRIBUTING.md) for information on how to submit pull requests\n* **Report Issues** - Found a bug or have a feature request? Open an issue on our [GitHub repository](https://github.com/latchfield/vulcan-core/issues/)\n* **Join the Community** - Connect with other Vulcan users and developers on [GitHub Discussions](https://github.com/latchfield/vulcan-core/discussions)\n\n## Additional Resources\nLearn more about Vulcan:\n\n* [Core Concepts](https://latchfield.com/vulcan/docs/concepts) - Understand the fundamental principles of Vulcan\n* [Guides & Tutorials](https://latchfield.com/vulcan/docs/guides/quick-start/) - Step-by-step instructions for common use cases\n* [API Reference](https://latchfield.com/vulcan/docs/) - Detailed information about the Vulcan API\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "AI-Hybrid Rules Engine for Logical Reasoning.",
    "version": "1.2.0",
    "project_urls": {
        "Documentation": "https://latchfield.com/vulcan/docs",
        "Homepage": "https://latchfield.com/vulcan",
        "Repository": "https://github.com/latchfield/vulcan-core"
    },
    "split_keywords": [
        "rules",
        " logic",
        " reasoning",
        " ai",
        " artificial intelligence",
        " rag",
        " llm"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "576310fd690725cc41487dcb53dd13cd9b47c39ebeb7c019406959f9fd2e1cc0",
                "md5": "4fd09933dc9fd4dfef0d3ddb090b36d2",
                "sha256": "2da6bc5c9d759636ef776d6f83983b80b3bb59b74f903ff5cd031844e6a0b1a5"
            },
            "downloads": -1,
            "filename": "vulcan_core-1.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4fd09933dc9fd4dfef0d3ddb090b36d2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.12",
            "size": 34352,
            "upload_time": "2025-07-14T19:45:55",
            "upload_time_iso_8601": "2025-07-14T19:45:55.305480Z",
            "url": "https://files.pythonhosted.org/packages/57/63/10fd690725cc41487dcb53dd13cd9b47c39ebeb7c019406959f9fd2e1cc0/vulcan_core-1.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "81968a2da9332c49754c3a096a24672c8711181b2aa0f06d83948290263bbdb7",
                "md5": "f1c7dd410f26deabda0231b6762b7f69",
                "sha256": "640236afcbf8828897970910c4d6bd8093bd4ebefcf1ede8fe562900e93ba670"
            },
            "downloads": -1,
            "filename": "vulcan_core-1.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "f1c7dd410f26deabda0231b6762b7f69",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.12",
            "size": 31128,
            "upload_time": "2025-07-14T19:45:56",
            "upload_time_iso_8601": "2025-07-14T19:45:56.598861Z",
            "url": "https://files.pythonhosted.org/packages/81/96/8a2da9332c49754c3a096a24672c8711181b2aa0f06d83948290263bbdb7/vulcan_core-1.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-14 19:45:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "latchfield",
    "github_project": "vulcan-core",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "vulcan-core"
}
        
Elapsed time: 2.13621s