zerocostai 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- zerocostai-1.0.0/PKG-INFO +109 -0
- zerocostai-1.0.0/README.md +81 -0
- zerocostai-1.0.0/setup.cfg +4 -0
- zerocostai-1.0.0/setup.py +38 -0
- zerocostai-1.0.0/zerocostai/__init__.py +67 -0
- zerocostai-1.0.0/zerocostai/cli.py +71 -0
- zerocostai-1.0.0/zerocostai/tools.json +9453 -0
- zerocostai-1.0.0/zerocostai.egg-info/PKG-INFO +109 -0
- zerocostai-1.0.0/zerocostai.egg-info/SOURCES.txt +10 -0
- zerocostai-1.0.0/zerocostai.egg-info/dependency_links.txt +1 -0
- zerocostai-1.0.0/zerocostai.egg-info/entry_points.txt +2 -0
- zerocostai-1.0.0/zerocostai.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: zerocostai
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Python client and CLI for ZeroCostAI.pro ā 720+ verified 100% free AI applications directory
|
|
5
|
+
Home-page: https://zerocostai.pro
|
|
6
|
+
Author: ZeroCostAI Research Labs
|
|
7
|
+
Author-email: support@zerocostai.pro
|
|
8
|
+
Project-URL: Homepage, https://zerocostai.pro
|
|
9
|
+
Project-URL: Directory, https://zerocostai.pro/#toolsGrid
|
|
10
|
+
Project-URL: Documentation, https://zerocostai.pro/blog/
|
|
11
|
+
Project-URL: Leaderboard, https://zerocostai.pro/trending/
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
16
|
+
Classifier: Topic :: Utilities
|
|
17
|
+
Requires-Python: >=3.7
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
Dynamic: author
|
|
20
|
+
Dynamic: author-email
|
|
21
|
+
Dynamic: classifier
|
|
22
|
+
Dynamic: description
|
|
23
|
+
Dynamic: description-content-type
|
|
24
|
+
Dynamic: home-page
|
|
25
|
+
Dynamic: project-url
|
|
26
|
+
Dynamic: requires-python
|
|
27
|
+
Dynamic: summary
|
|
28
|
+
|
|
29
|
+
# ZeroCostAI: Verified Free AI Tools Directory (2026)
|
|
30
|
+
|
|
31
|
+
[](https://pypi.org/project/zerocostai/)
|
|
32
|
+
[](https://opensource.org/licenses/MIT)
|
|
33
|
+
[](https://zerocostai.pro)
|
|
34
|
+
|
|
35
|
+
Official Python SDK and Terminal CLI for [ZeroCostAI.pro](https://zerocostai.pro) ā the verified directory of 100% free, open-source, and no-login AI applications.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## ā” Installation
|
|
40
|
+
|
|
41
|
+
Install via pip:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
pip install zerocostai
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## š Terminal CLI Usage
|
|
50
|
+
|
|
51
|
+
Search and discover free AI tools directly from your terminal:
|
|
52
|
+
|
|
53
|
+
### 1. Search for AI Tools
|
|
54
|
+
```bash
|
|
55
|
+
# Search by keyword
|
|
56
|
+
zerocostai search video
|
|
57
|
+
|
|
58
|
+
# Filter tools that require zero login/signup
|
|
59
|
+
zerocostai search coding --no-login
|
|
60
|
+
|
|
61
|
+
# Limit results
|
|
62
|
+
zerocostai search "image" -n 5
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 2. List All Categories
|
|
66
|
+
```bash
|
|
67
|
+
zerocostai categories
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 3. Discover a Random Free AI Tool
|
|
71
|
+
```bash
|
|
72
|
+
zerocostai random
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## š Python API Usage
|
|
78
|
+
|
|
79
|
+
```python
|
|
80
|
+
import zerocostai
|
|
81
|
+
|
|
82
|
+
# Search verified free tools
|
|
83
|
+
tools = zerocostai.search("voice", limit=5)
|
|
84
|
+
for t in tools:
|
|
85
|
+
print(f"{t['name']} - {t['review_url']}")
|
|
86
|
+
|
|
87
|
+
# Get specific tool details
|
|
88
|
+
tool = zerocostai.get_tool("flux-schnell")
|
|
89
|
+
print(tool["pricing_tier"]) # "Free Tier"
|
|
90
|
+
|
|
91
|
+
# Explore categories
|
|
92
|
+
cats = zerocostai.list_categories()
|
|
93
|
+
print(cats)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## š Official Web Platform
|
|
99
|
+
|
|
100
|
+
For the full interactive directory, community leaderboard, and editorial testing notes:
|
|
101
|
+
* **Directory:** [https://zerocostai.pro/#toolsGrid](https://zerocostai.pro/#toolsGrid)
|
|
102
|
+
* **Trending Tools:** [https://zerocostai.pro/trending/](https://zerocostai.pro/trending/)
|
|
103
|
+
* **Submit AI Tool:** [https://zerocostai.pro/submit/](https://zerocostai.pro/submit/)
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## License
|
|
108
|
+
|
|
109
|
+
MIT License. Maintained by [ZeroCostAI Research Labs](https://zerocostai.pro).
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# ZeroCostAI: Verified Free AI Tools Directory (2026)
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/zerocostai/)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
[](https://zerocostai.pro)
|
|
6
|
+
|
|
7
|
+
Official Python SDK and Terminal CLI for [ZeroCostAI.pro](https://zerocostai.pro) ā the verified directory of 100% free, open-source, and no-login AI applications.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## ā” Installation
|
|
12
|
+
|
|
13
|
+
Install via pip:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pip install zerocostai
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## š Terminal CLI Usage
|
|
22
|
+
|
|
23
|
+
Search and discover free AI tools directly from your terminal:
|
|
24
|
+
|
|
25
|
+
### 1. Search for AI Tools
|
|
26
|
+
```bash
|
|
27
|
+
# Search by keyword
|
|
28
|
+
zerocostai search video
|
|
29
|
+
|
|
30
|
+
# Filter tools that require zero login/signup
|
|
31
|
+
zerocostai search coding --no-login
|
|
32
|
+
|
|
33
|
+
# Limit results
|
|
34
|
+
zerocostai search "image" -n 5
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 2. List All Categories
|
|
38
|
+
```bash
|
|
39
|
+
zerocostai categories
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 3. Discover a Random Free AI Tool
|
|
43
|
+
```bash
|
|
44
|
+
zerocostai random
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## š Python API Usage
|
|
50
|
+
|
|
51
|
+
```python
|
|
52
|
+
import zerocostai
|
|
53
|
+
|
|
54
|
+
# Search verified free tools
|
|
55
|
+
tools = zerocostai.search("voice", limit=5)
|
|
56
|
+
for t in tools:
|
|
57
|
+
print(f"{t['name']} - {t['review_url']}")
|
|
58
|
+
|
|
59
|
+
# Get specific tool details
|
|
60
|
+
tool = zerocostai.get_tool("flux-schnell")
|
|
61
|
+
print(tool["pricing_tier"]) # "Free Tier"
|
|
62
|
+
|
|
63
|
+
# Explore categories
|
|
64
|
+
cats = zerocostai.list_categories()
|
|
65
|
+
print(cats)
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## š Official Web Platform
|
|
71
|
+
|
|
72
|
+
For the full interactive directory, community leaderboard, and editorial testing notes:
|
|
73
|
+
* **Directory:** [https://zerocostai.pro/#toolsGrid](https://zerocostai.pro/#toolsGrid)
|
|
74
|
+
* **Trending Tools:** [https://zerocostai.pro/trending/](https://zerocostai.pro/trending/)
|
|
75
|
+
* **Submit AI Tool:** [https://zerocostai.pro/submit/](https://zerocostai.pro/submit/)
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## License
|
|
80
|
+
|
|
81
|
+
MIT License. Maintained by [ZeroCostAI Research Labs](https://zerocostai.pro).
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
from setuptools import setup, find_packages
|
|
2
|
+
import os
|
|
3
|
+
|
|
4
|
+
with open("README.md", "r", encoding="utf-8") as fh:
|
|
5
|
+
long_description = fh.read()
|
|
6
|
+
|
|
7
|
+
setup(
|
|
8
|
+
name="zerocostai",
|
|
9
|
+
version="1.0.0",
|
|
10
|
+
author="ZeroCostAI Research Labs",
|
|
11
|
+
author_email="support@zerocostai.pro",
|
|
12
|
+
description="Python client and CLI for ZeroCostAI.pro ā 720+ verified 100% free AI applications directory",
|
|
13
|
+
long_description=long_description,
|
|
14
|
+
long_description_content_type="text/markdown",
|
|
15
|
+
url="https://zerocostai.pro",
|
|
16
|
+
project_urls={
|
|
17
|
+
"Homepage": "https://zerocostai.pro",
|
|
18
|
+
"Directory": "https://zerocostai.pro/#toolsGrid",
|
|
19
|
+
"Documentation": "https://zerocostai.pro/blog/",
|
|
20
|
+
"Leaderboard": "https://zerocostai.pro/trending/",
|
|
21
|
+
},
|
|
22
|
+
classifiers=[
|
|
23
|
+
"Programming Language :: Python :: 3",
|
|
24
|
+
"License :: OSI Approved :: MIT License",
|
|
25
|
+
"Operating System :: OS Independent",
|
|
26
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
27
|
+
"Topic :: Utilities",
|
|
28
|
+
],
|
|
29
|
+
packages=find_packages(),
|
|
30
|
+
package_data={"zerocostai": ["tools.json"]},
|
|
31
|
+
include_package_data=True,
|
|
32
|
+
python_requires=">=3.7",
|
|
33
|
+
entry_points={
|
|
34
|
+
"console_scripts": [
|
|
35
|
+
"zerocostai=zerocostai.cli:main",
|
|
36
|
+
],
|
|
37
|
+
},
|
|
38
|
+
)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"""
|
|
2
|
+
ZeroCostAI Python Client & CLI
|
|
3
|
+
Verified Directory of 100% Free AI Applications (2026)
|
|
4
|
+
Homepage: https://zerocostai.pro
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import json
|
|
8
|
+
import os
|
|
9
|
+
import random
|
|
10
|
+
|
|
11
|
+
__version__ = "1.0.0"
|
|
12
|
+
__author__ = "ZeroCostAI Research Labs"
|
|
13
|
+
__homepage__ = "https://zerocostai.pro"
|
|
14
|
+
|
|
15
|
+
_DATA_PATH = os.path.join(os.path.dirname(__file__), "tools.json")
|
|
16
|
+
|
|
17
|
+
def _load_data():
|
|
18
|
+
with open(_DATA_PATH, "r", encoding="utf-8") as f:
|
|
19
|
+
return json.load(f)
|
|
20
|
+
|
|
21
|
+
def search(query="", category=None, no_login_only=False, limit=10):
|
|
22
|
+
"""
|
|
23
|
+
Search verified free AI tools.
|
|
24
|
+
Visit https://zerocostai.pro for interactive UI and rankings.
|
|
25
|
+
"""
|
|
26
|
+
tools = _load_data()
|
|
27
|
+
q = query.lower().strip()
|
|
28
|
+
results = []
|
|
29
|
+
|
|
30
|
+
for t in tools:
|
|
31
|
+
if no_login_only and not t.get("no_login_required"):
|
|
32
|
+
continue
|
|
33
|
+
if category and t.get("category", "").lower() != category.lower() and t.get("category_label", "").lower() != category.lower():
|
|
34
|
+
continue
|
|
35
|
+
if q:
|
|
36
|
+
name_match = q in t.get("name", "").lower()
|
|
37
|
+
cat_match = q in t.get("category_label", "").lower()
|
|
38
|
+
if not (name_match or cat_match):
|
|
39
|
+
continue
|
|
40
|
+
results.append(t)
|
|
41
|
+
if len(results) >= limit:
|
|
42
|
+
break
|
|
43
|
+
|
|
44
|
+
return results
|
|
45
|
+
|
|
46
|
+
def get_tool(slug):
|
|
47
|
+
"""Get detailed metadata for a specific tool by slug."""
|
|
48
|
+
tools = _load_data()
|
|
49
|
+
for t in tools:
|
|
50
|
+
if t.get("slug", "").lower() == slug.lower():
|
|
51
|
+
return t
|
|
52
|
+
return None
|
|
53
|
+
|
|
54
|
+
def list_categories():
|
|
55
|
+
"""List all available AI tool categories."""
|
|
56
|
+
tools = _load_data()
|
|
57
|
+
cats = {}
|
|
58
|
+
for t in tools:
|
|
59
|
+
cl = t.get("category_label")
|
|
60
|
+
if cl:
|
|
61
|
+
cats[cl] = cats.get(cl, 0) + 1
|
|
62
|
+
return dict(sorted(cats.items(), key=lambda x: x[1], reverse=True))
|
|
63
|
+
|
|
64
|
+
def random_tool():
|
|
65
|
+
"""Discover a random verified free AI tool."""
|
|
66
|
+
tools = _load_data()
|
|
67
|
+
return random.choice(tools) if tools else None
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import argparse
|
|
3
|
+
from zerocostai import search, list_categories, random_tool, __version__
|
|
4
|
+
|
|
5
|
+
def main():
|
|
6
|
+
parser = argparse.ArgumentParser(
|
|
7
|
+
prog="zerocostai",
|
|
8
|
+
description="ZeroCostAI CLI ā Search 720+ verified free AI tools from your terminal. (https://zerocostai.pro)"
|
|
9
|
+
)
|
|
10
|
+
parser.add_argument("-v", "--version", action="version", version=f"%(prog)s {__version__}")
|
|
11
|
+
|
|
12
|
+
subparsers = parser.add_subparsers(dest="command")
|
|
13
|
+
|
|
14
|
+
# search cmd
|
|
15
|
+
search_p = subparsers.add_parser("search", help="Search free AI tools by keyword or category")
|
|
16
|
+
search_p.add_argument("query", nargs="?", default="", help="Keyword to search (e.g. video, voice, coding)")
|
|
17
|
+
search_p.add_argument("-c", "--category", default=None, help="Filter by category")
|
|
18
|
+
search_p.add_argument("--no-login", action="store_true", help="Filter for tools that require no login")
|
|
19
|
+
search_p.add_argument("-n", "--limit", type=int, default=10, help="Maximum number of results (default: 10)")
|
|
20
|
+
|
|
21
|
+
# categories cmd
|
|
22
|
+
subparsers.add_parser("categories", help="List all tool categories and tool counts")
|
|
23
|
+
|
|
24
|
+
# random cmd
|
|
25
|
+
subparsers.add_parser("random", help="Get a random verified free AI tool")
|
|
26
|
+
|
|
27
|
+
args = parser.parse_args()
|
|
28
|
+
|
|
29
|
+
if args.command == "search" or (not args.command and len(sys.argv) > 1):
|
|
30
|
+
q = getattr(args, "query", sys.argv[1] if len(sys.argv) > 1 and not sys.argv[1].startswith("-") else "")
|
|
31
|
+
cat = getattr(args, "category", None)
|
|
32
|
+
nl = getattr(args, "no_login", False)
|
|
33
|
+
lim = getattr(args, "limit", 10)
|
|
34
|
+
|
|
35
|
+
results = search(query=q, category=cat, no_login_only=nl, limit=lim)
|
|
36
|
+
if not results:
|
|
37
|
+
print(f"No free AI tools found matching '{q}'. Visit https://zerocostai.pro/#toolsGrid to browse 720+ tools.")
|
|
38
|
+
return
|
|
39
|
+
|
|
40
|
+
print(f"\nFound {len(results)} verified free AI tools:\n" + "="*50)
|
|
41
|
+
for i, t in enumerate(results, start=1):
|
|
42
|
+
nl_badge = " [NO LOGIN REQUIRED]" if t.get("no_login_required") else ""
|
|
43
|
+
print(f"{i}. {t['name']} ({t['category_label']}){nl_badge}")
|
|
44
|
+
print(f" Tier: {t['pricing_tier']}")
|
|
45
|
+
print(f" Review: {t['review_url']}")
|
|
46
|
+
print(f" Website: {t['official_url']}")
|
|
47
|
+
print("-" * 50)
|
|
48
|
+
|
|
49
|
+
elif args.command == "categories":
|
|
50
|
+
cats = list_categories()
|
|
51
|
+
print("\nZeroCostAI Categories & Verified Counts:\n" + "="*40)
|
|
52
|
+
for cat, count in cats.items():
|
|
53
|
+
print(f"⢠{cat:<28} : {count:>3} tools")
|
|
54
|
+
print("="*40 + "\nBrowse online at: https://zerocostai.pro\n")
|
|
55
|
+
|
|
56
|
+
elif args.command == "random":
|
|
57
|
+
t = random_tool()
|
|
58
|
+
if t:
|
|
59
|
+
print("\nš² Random Verified Free AI Tool:\n" + "="*40)
|
|
60
|
+
print(f"Name : {t['name']}")
|
|
61
|
+
print(f"Category : {t['category_label']}")
|
|
62
|
+
print(f"Tier : {t['pricing_tier']}")
|
|
63
|
+
print(f"No Login : {'Yes' if t.get('no_login_required') else 'No'}")
|
|
64
|
+
print(f"Review : {t['review_url']}")
|
|
65
|
+
print("="*40 + "\n")
|
|
66
|
+
else:
|
|
67
|
+
parser.print_help()
|
|
68
|
+
print("\nExplore the full interactive directory at https://zerocostai.pro")
|
|
69
|
+
|
|
70
|
+
if __name__ == "__main__":
|
|
71
|
+
main()
|