# 🚀 HumanFirst SDK (humanfirst-module)
---
The **HumanFirst SDK (humanfirst-module)** is a Python package that simplifies the integration and interaction with the [HumanFirst platform](https://www.humanfirst.ai/) - It is a no-code tool specializing in Data Engineering, Prompt Engineering, Context Engineering, Conversational AI and NLU.
SDK provides a set of tools, helper classes, and API methods to streamline working with the **HumanFirst JSON format**, **API endpoints**, and **Secure authorization**.
---
## 🎯 Key Features
* **HumanFirst Objects**: Helper classes to describe, validate, and manipulate the core data structures used in the HumanFirst platform.
* **HumanFirst APIs**: A streamlined way to interact with the HumanFirst APIs for managing datasets, labels, prompts, pipelines and more.
* **Secure Authorization**: Simplified handling of secure API authentication and token management.
---
## 📦 Installation
Install the package using `pip`:
```bash
pip install humanfirst
```
---
## 🧩 Components Overview
1. **humanfirst.objects**: A set of helper classes and methods for describing, validating, and interacting with HFObjects that make up the HumanFirst JSON format.
* Validate and manipulate HumanFirst objects.
* Convert between Python objects and HumanFirst JSON structures.
2. **humanfirst.apis**: Helper classes to interact with the HumanFirst APIs.
* Perform CRUD operations on datasets and projects.
* Easily integrate HumanFirst functionalities into your applications.
3. **humanfirst.authorization**: Handles secure authorization for interacting with HumanFirst APIs.
* Manage API keys and tokens.
* Ensure secure communication with the HumanFirst platform.
---
## 📖 Usage Example
Here's a basic example of how to use the HumanFirst SDK to connect to the HumanFirst API and perform operations:
```python
import humanfirst
# Step 1 : Initialize the API
# Authorization is performed during the initialization of API
# username and password can directly be passed or can be set as environment variables - HF_USERNAME and HF_PASSWORD
hf_api = humanfirst.apis.HFAPI()
# Step 2: Perform an API call (e.g., fetching a list of projects)
playbook_list = hf_api.list_playbooks(namespace="<namespace>")
print(playbook_list)
```
---
## 🔧 Configuration Files
The package includes configuration files located in the config/ directory.
```bash
config/
│
├── logging.conf
└── setup.cfg
```
* logging.conf - contains all the logging related configurations
* setup.cfg - contains all important default constants
---
## 📚 API Reference
For detailed API reference, visit the official documentation:
📖 Documentation: https://docs.humanfirst.ai/docs/api/
📂 Source Code APIs: https://github.com/zia-ai/humanfirst-module/blob/master/humanfirst/apis.py
---
## 🤝 Contributing
We welcome contributions to the HumanFirst SDK! If you find a bug or have a feature request, please open an issue on GitHub.
### Steps to Contribute:
* Fork the repository.
* Create a new branch for your feature/bugfix.
* Submit a pull request.
---
## 📄 License
This project is licensed under the MIT License. See the [LICENSE](https://github.com/zia-ai/humanfirst-module/blob/master/LICENSE) file for more details.
---
## 💬 Support
If you have any questions or need support, feel free to reach out:
📧 Email: fayaz@humanfirst.ai
💻 GitHub Issues: https://github.com/zia-ai/humanfirst-module/issues
---
## ⚙️ Development Setup
For contributors and developers, you can set up the package locally by cloning the repository and installing the necessary dependencies:
```bash
# Clone the repo
git clone https://github.com/zia-ai/humanfirst-module.git
# Navigate into the project directory
cd humanfirst-module
# Install dependencies
pip install -r requirements.txt
# Setup env variables
export HF_USERNAME="Humanfirst username"
export HF_PASSWORD="Humanfirst password"
# Run tests
pytest
```
For more details on developer setup visit Developer [REAME.md](https://github.com/zia-ai/humanfirst-module/blob/master/README.md)
---
## 📢 Changelog
See the [CHANGELOG](https://pypi.org/project/humanfirst/#history) for details on the latest updates and changes to the package.
---
## 🔗 Links
🌐 Official Website: https://www.humanfirst.ai
📚 Documentation: https://docs.humanfirst.ai/docs
🐙 GitHub Repo: https://github.com/zia-ai/humanfirst-module
🐞 Issue Tracker: https://github.com/zia-ai/humanfirst-module/issues
---
Made with ❤️ by HumanFirst
Raw data
{
"_id": null,
"home_page": "https://humanfirst.ai",
"name": "humanfirst",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "python, humanfirst, HumanFirst",
"author": "Mohammed Fayaz Ansar Jelani",
"author_email": "fayaz@humanfirst.ai",
"download_url": "https://files.pythonhosted.org/packages/6d/a3/5d9df7b60573a3024699d458475e8555a527aec3c6f5ab30da041700825f/humanfirst-2.0.2.tar.gz",
"platform": null,
"description": "\n# \ud83d\ude80 HumanFirst SDK (humanfirst-module)\n\n---\nThe **HumanFirst SDK (humanfirst-module)** is a Python package that simplifies the integration and interaction with the [HumanFirst platform](https://www.humanfirst.ai/) - It is a no-code tool specializing in Data Engineering, Prompt Engineering, Context Engineering, Conversational AI and NLU.\n\nSDK provides a set of tools, helper classes, and API methods to streamline working with the **HumanFirst JSON format**, **API endpoints**, and **Secure authorization**.\n\n---\n\n## \ud83c\udfaf Key Features\n* **HumanFirst Objects**: Helper classes to describe, validate, and manipulate the core data structures used in the HumanFirst platform.\n* **HumanFirst APIs**: A streamlined way to interact with the HumanFirst APIs for managing datasets, labels, prompts, pipelines and more.\n* **Secure Authorization**: Simplified handling of secure API authentication and token management.\n\n---\n\n## \ud83d\udce6 Installation\n\nInstall the package using `pip`:\n\n```bash\npip install humanfirst\n```\n\n---\n\n## \ud83e\udde9 Components Overview\n1. **humanfirst.objects**: A set of helper classes and methods for describing, validating, and interacting with HFObjects that make up the HumanFirst JSON format.\n\n * Validate and manipulate HumanFirst objects.\n * Convert between Python objects and HumanFirst JSON structures.\n\n2. **humanfirst.apis**: Helper classes to interact with the HumanFirst APIs.\n\n * Perform CRUD operations on datasets and projects.\n * Easily integrate HumanFirst functionalities into your applications.\n\n3. **humanfirst.authorization**: Handles secure authorization for interacting with HumanFirst APIs.\n\n * Manage API keys and tokens.\n * Ensure secure communication with the HumanFirst platform.\n\n---\n\n## \ud83d\udcd6 Usage Example\nHere's a basic example of how to use the HumanFirst SDK to connect to the HumanFirst API and perform operations:\n\n```python\nimport humanfirst\n\n# Step 1 : Initialize the API\n# Authorization is performed during the initialization of API\n# username and password can directly be passed or can be set as environment variables - HF_USERNAME and HF_PASSWORD\nhf_api = humanfirst.apis.HFAPI()\n\n# Step 2: Perform an API call (e.g., fetching a list of projects)\nplaybook_list = hf_api.list_playbooks(namespace=\"<namespace>\")\n\nprint(playbook_list)\n```\n\n---\n\n## \ud83d\udd27 Configuration Files\nThe package includes configuration files located in the config/ directory. \n\n```bash\nconfig/\n\u2502\n\u251c\u2500\u2500 logging.conf\n\u2514\u2500\u2500 setup.cfg\n```\n* logging.conf - contains all the logging related configurations\n* setup.cfg - contains all important default constants\n\n---\n\n## \ud83d\udcda API Reference\nFor detailed API reference, visit the official documentation:\n\n\ud83d\udcd6 Documentation: https://docs.humanfirst.ai/docs/api/\n\n\ud83d\udcc2 Source Code APIs: https://github.com/zia-ai/humanfirst-module/blob/master/humanfirst/apis.py\n\n---\n\n## \ud83e\udd1d Contributing\nWe welcome contributions to the HumanFirst SDK! If you find a bug or have a feature request, please open an issue on GitHub.\n\n### Steps to Contribute:\n* Fork the repository.\n* Create a new branch for your feature/bugfix.\n* Submit a pull request.\n\n---\n\n## \ud83d\udcc4 License\nThis project is licensed under the MIT License. See the [LICENSE](https://github.com/zia-ai/humanfirst-module/blob/master/LICENSE) file for more details.\n\n---\n\n## \ud83d\udcac Support\nIf you have any questions or need support, feel free to reach out:\n\n\ud83d\udce7 Email: fayaz@humanfirst.ai\n\n\ud83d\udcbb GitHub Issues: https://github.com/zia-ai/humanfirst-module/issues\n\n---\n\n## \u2699\ufe0f Development Setup\nFor contributors and developers, you can set up the package locally by cloning the repository and installing the necessary dependencies:\n\n```bash\n# Clone the repo\ngit clone https://github.com/zia-ai/humanfirst-module.git\n\n# Navigate into the project directory\ncd humanfirst-module\n\n# Install dependencies\npip install -r requirements.txt\n\n# Setup env variables\nexport HF_USERNAME=\"Humanfirst username\"\nexport HF_PASSWORD=\"Humanfirst password\" \n\n# Run tests\npytest\n```\n\nFor more details on developer setup visit Developer [REAME.md](https://github.com/zia-ai/humanfirst-module/blob/master/README.md)\n\n---\n\n## \ud83d\udce2 Changelog\nSee the [CHANGELOG](https://pypi.org/project/humanfirst/#history) for details on the latest updates and changes to the package.\n\n---\n\n## \ud83d\udd17 Links\n\ud83c\udf10 Official Website: https://www.humanfirst.ai\n\n\ud83d\udcda Documentation: https://docs.humanfirst.ai/docs\n\n\ud83d\udc19 GitHub Repo: https://github.com/zia-ai/humanfirst-module\n\n\ud83d\udc1e Issue Tracker: https://github.com/zia-ai/humanfirst-module/issues\n\n---\nMade with \u2764\ufe0f by HumanFirst\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "HumanFirst Package Module",
"version": "2.0.2",
"project_urls": {
"Documentation": "https://docs.humanfirst.ai/docs/",
"Homepage": "https://humanfirst.ai",
"Source": "https://github.com/zia-ai/humanfirst-module"
},
"split_keywords": [
"python",
" humanfirst",
" humanfirst"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "19b9892c27147da12dc260d7968872e58fd5833ed906b37050c9e1879764cde0",
"md5": "3eb20a54a25a6aa01ee6f554be605a42",
"sha256": "edf9e6db390ab97d1d8741417f62984e73eaca2d57ac7e684390a1488635b271"
},
"downloads": -1,
"filename": "humanfirst-2.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3eb20a54a25a6aa01ee6f554be605a42",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 109645,
"upload_time": "2025-01-07T10:42:12",
"upload_time_iso_8601": "2025-01-07T10:42:12.911762Z",
"url": "https://files.pythonhosted.org/packages/19/b9/892c27147da12dc260d7968872e58fd5833ed906b37050c9e1879764cde0/humanfirst-2.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6da35d9df7b60573a3024699d458475e8555a527aec3c6f5ab30da041700825f",
"md5": "3078bf2bb30d39625d01a9d8ecb10889",
"sha256": "220ae52b60385cb1ac9ac419c73e0e2de55244233e5f8fbd6343e62039d1b461"
},
"downloads": -1,
"filename": "humanfirst-2.0.2.tar.gz",
"has_sig": false,
"md5_digest": "3078bf2bb30d39625d01a9d8ecb10889",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 112797,
"upload_time": "2025-01-07T10:42:14",
"upload_time_iso_8601": "2025-01-07T10:42:14.526941Z",
"url": "https://files.pythonhosted.org/packages/6d/a3/5d9df7b60573a3024699d458475e8555a527aec3c6f5ab30da041700825f/humanfirst-2.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-07 10:42:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zia-ai",
"github_project": "humanfirst-module",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"circle": true,
"requirements": [
{
"name": "twine",
"specs": [
[
"==",
"5.1.1"
]
]
},
{
"name": "wheel",
"specs": [
[
"==",
"0.41.2"
]
]
},
{
"name": "keyring",
"specs": []
},
{
"name": "keyrings.alt",
"specs": []
},
{
"name": "pylint",
"specs": []
},
{
"name": "git-pylint-commit-hook",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "pandas",
"specs": []
},
{
"name": "requests",
"specs": []
},
{
"name": "requests-toolbelt",
"specs": []
},
{
"name": "autopep8",
"specs": []
},
{
"name": "dataclasses",
"specs": []
},
{
"name": "dataclasses-json",
"specs": []
},
{
"name": "pytest",
"specs": []
},
{
"name": "python-dotenv",
"specs": []
},
{
"name": "pytest-cov",
"specs": []
},
{
"name": "ntplib",
"specs": []
},
{
"name": "PyJWT",
"specs": []
}
],
"lcname": "humanfirst"
}