xfms 0.1.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.
xfms-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Russ Wright / Visionairy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
xfms-0.1.0/NOTICE ADDED
@@ -0,0 +1,62 @@
1
+ XFMS — Xpansion Framework Model Source (client library)
2
+ Copyright 2026 Russ Wright / Visionairy
3
+
4
+ The XFMS client library (this repository) is distributed under the
5
+ MIT License. See the LICENSE file for the full terms.
6
+
7
+ ──────────────────────────────────────────────────────────────────────
8
+ What this repository contains
9
+ ──────────────────────────────────────────────────────────────────────
10
+
11
+ This repository is a thin HTTP client and command-line tool for
12
+ calling the hosted XFMS API at https://xfms.vercel.app. It does not
13
+ contain the recommender engine, the score catalog, the catalog
14
+ ingestion pipeline, or the methodology implementation — those run
15
+ on the hosted service and are not open source.
16
+
17
+ ──────────────────────────────────────────────────────────────────────
18
+ Patent notice
19
+ ──────────────────────────────────────────────────────────────────────
20
+
21
+ XFMS is one module of the Xpansion Framework — a unified architecture
22
+ for governing AI-assisted work. The Xpansion Framework methods and
23
+ processes — including, without limitation:
24
+
25
+ - finite intent decomposition,
26
+ - code-enforced tool gating,
27
+ - binary terminal verification, and
28
+ - local-sovereign compounding memory
29
+
30
+ — are the subject of pending patent applications filed by Russ Wright
31
+ and Visionairy.
32
+
33
+ The MIT license granted in the LICENSE file applies to the client
34
+ library source code in this repository. It does NOT grant any rights,
35
+ express or implied, to:
36
+
37
+ - the Xpansion Framework patents, pending or granted
38
+ - the XFMS recommender engine
39
+ - the XFMS score catalog
40
+ - the catalog ingestion pipeline
41
+ - any other Xpansion Framework intellectual property beyond the
42
+ client code in this repository
43
+
44
+ ──────────────────────────────────────────────────────────────────────
45
+ Trademarks
46
+ ──────────────────────────────────────────────────────────────────────
47
+
48
+ "XFMS", "Xpansion Framework", "Visionairy", and related marks are
49
+ trademarks of Russ Wright / Visionairy. The MIT license does not
50
+ grant rights to use these marks, except as needed to accurately
51
+ identify the origin of the software.
52
+
53
+ ──────────────────────────────────────────────────────────────────────
54
+ Contact
55
+ ──────────────────────────────────────────────────────────────────────
56
+
57
+ For licensing questions, patent inquiries, or commercial use beyond
58
+ the MIT license terms, contact:
59
+
60
+ Russ Wright
61
+ russ@visionairy.biz
62
+ https://xpansion.dev
xfms-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,253 @@
1
+ Metadata-Version: 2.4
2
+ Name: xfms
3
+ Version: 0.1.0
4
+ Summary: Pick the right LLM for your task. Xpansion Framework Model Source — aggregates 8 independent benchmark sources via the hosted XFMS API. BYOK so your inference cost stays with you.
5
+ Author-email: Russ Wright <russ@visionairy.biz>
6
+ Maintainer-email: Russ Wright <russ@visionairy.biz>
7
+ License: MIT
8
+ Project-URL: Homepage, https://xpansion.dev
9
+ Project-URL: Repository, https://github.com/VisionAIrySE/XFMS
10
+ Project-URL: Documentation, https://github.com/VisionAIrySE/XFMS#readme
11
+ Project-URL: Methodology, https://github.com/VisionAIrySE/XFMS/blob/main/docs/methodology.md
12
+ Project-URL: Xpansion Framework, https://github.com/VisionAIrySE/XFMS/blob/main/docs/xpansion-overview.md
13
+ Project-URL: Bug Tracker, https://github.com/VisionAIrySE/XFMS/issues
14
+ Project-URL: Sponsor, https://github.com/sponsors/VisionAIrySE
15
+ Keywords: llm,model-selection,ai,ai-tools,claude-code,openrouter,benchmarks,llm-evaluation,llm-routing,recommendation-system,xpansion-framework,byok,ai-evaluation,model-recommender,llm-comparison,anthropic,openai,google-gemini,deepseek,lmsys-arena
16
+ Classifier: Development Status :: 4 - Beta
17
+ Classifier: Intended Audience :: Developers
18
+ Classifier: Intended Audience :: Information Technology
19
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
20
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
+ Classifier: Programming Language :: Python :: 3
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Operating System :: OS Independent
26
+ Classifier: License :: OSI Approved :: MIT License
27
+ Requires-Python: >=3.10
28
+ Description-Content-Type: text/markdown
29
+ License-File: LICENSE
30
+ License-File: NOTICE
31
+ Requires-Dist: httpx>=0.27
32
+ Provides-Extra: dev
33
+ Requires-Dist: pytest>=8.0; extra == "dev"
34
+ Dynamic: license-file
35
+
36
+ # XFMS — Xpansion Framework Model Source
37
+
38
+ **Pick the right LLM for your task — without the Twitter vibes.**
39
+
40
+ State what you're using the model for. XFMS aggregates evidence from
41
+ eight independent benchmark sources, normalizes it onto a common
42
+ scale, lets your intent decide which dimensions matter, and returns
43
+ a ranked shortlist with plain-English rationale for every pick.
44
+
45
+ XFMS is one module of the **[Xpansion Framework](https://xpansion.dev)** —
46
+ a unified architecture for governing AI-assisted work.
47
+
48
+ ---
49
+
50
+ ## What this repository is
51
+
52
+ A **thin Python client** and **command-line tool** for calling the
53
+ hosted XFMS API at `xfms.vercel.app`. About 250 lines of code. It
54
+ turns a one-liner into a ranked LLM shortlist.
55
+
56
+ What this repository is **not**: the recommender engine, the score
57
+ catalog, or the ingestion pipeline. Those run on the hosted service.
58
+ The methodology behind every pick is published in full at
59
+ [docs/methodology.md](docs/methodology.md) — every claim there maps
60
+ to code that runs at request time, you just don't run it locally.
61
+
62
+ ---
63
+
64
+ ## What you say:
65
+
66
+ > *"Fixing bugs in our Python codebase."*
67
+
68
+ ## What you get:
69
+
70
+ ```
71
+ My pick: GPT-5.5
72
+
73
+ Strong on structured output and instruction following — the two
74
+ dimensions that dominate code-edit work. Beats the Claude family on
75
+ Aider Polyglot and matches it on LiveBench reasoning, at roughly
76
+ 60% of the per-token cost.
77
+
78
+ Alternatives:
79
+ 2. claude-sonnet-4.6 — closer on coding quality, higher cost
80
+ 3. gemini-3-pro — fastest, slightly weaker on tool use
81
+
82
+ Inferred weights from your purpose:
83
+ • structured_output_reliability 42.0% ← BigCodeBench, Aider
84
+ • instruction_following 28.0% ← LiveBench, Arena
85
+ • factuality 20.0% ← MMLU, GPQA
86
+ • coherence 10.0% ← LongBench
87
+ ```
88
+
89
+ ---
90
+
91
+ ## Install
92
+
93
+ ```bash
94
+ pip install xfms
95
+ ```
96
+
97
+ You need two free keys:
98
+
99
+ - **Xpansion Framework Model Source access key** — identifies you
100
+ to the hosted API. Request one by submitting your email to the
101
+ signup endpoint:
102
+
103
+ ```bash
104
+ curl -X POST https://xfms.vercel.app/signup \
105
+ -H "Content-Type: application/json" \
106
+ -d '{"email":"you@yourdomain.com"}'
107
+ ```
108
+
109
+ You'll get a confirmation email; click the button inside and
110
+ your API key arrives in a follow-up email.
111
+
112
+ - **OpenRouter key** — your BYOK (bring-your-own-key). XFMS makes a
113
+ small LLM call per pick to figure out which benchmarks matter for
114
+ your stated purpose. That call goes through *your* OpenRouter
115
+ account, so your inference cost stays with you (~$0.001 per
116
+ pick). Sign up at [openrouter.ai/keys](https://openrouter.ai/keys).
117
+
118
+ Configure them once:
119
+
120
+ ```bash
121
+ export XFMS_API_KEY=xfms_live_...
122
+ export OPENROUTER_API_KEY=sk-or-v1-...
123
+ ```
124
+
125
+ ## Use
126
+
127
+ **Command line:**
128
+
129
+ ```bash
130
+ xfms rank "writing a tight editorial under a budget"
131
+ ```
132
+
133
+ ```bash
134
+ xfms pick "fixing bugs in our Python codebase"
135
+ ```
136
+
137
+ ```bash
138
+ xfms rank "summarizing a long legal contract" --top-n 3
139
+ ```
140
+
141
+ ```bash
142
+ xfms rank "OCR a handwritten manifest" -c vision -c tool_use
143
+ ```
144
+
145
+ **Python:**
146
+
147
+ ```python
148
+ from xfms_client import XFMSClient
149
+
150
+ with XFMSClient() as xfms:
151
+ result = xfms.rank("writing a tight editorial under a budget")
152
+ print(result["models"][0]["name"])
153
+ ```
154
+
155
+ Or the one-shot:
156
+
157
+ ```python
158
+ from xfms_client import pick
159
+ print(pick("fixing bugs in our Python codebase")["name"])
160
+ ```
161
+
162
+ ## Override the system's inference
163
+
164
+ If you know which quality dimension matters most for your task, say
165
+ so — your preference always wins over the LLM's inference:
166
+
167
+ ```bash
168
+ xfms rank "code refactor" --leaf-priorities "structured_output_reliability=1.0,factuality=0.5"
169
+ ```
170
+
171
+ ```python
172
+ xfms.rank(
173
+ "code refactor",
174
+ leaf_priorities={"structured_output_reliability": 1.0, "factuality": 0.5},
175
+ )
176
+ ```
177
+
178
+ ---
179
+
180
+ ## Why BYOK
181
+
182
+ The hosted XFMS endpoint runs your purpose through a small language
183
+ model to figure out which benchmarks matter most for your task —
184
+ that's how the "inferred weights" block in the response gets built.
185
+
186
+ That model call goes through *your* OpenRouter account, not ours.
187
+ You pay for your own thinking; we pay for keeping the catalog
188
+ fresh. It's the right alignment of who's on the hook for what.
189
+
190
+ Typical cost per pick: about **$0.001** on OpenRouter (one short
191
+ classifier call).
192
+
193
+ ---
194
+
195
+ ## How XFMS picks — the four principles
196
+
197
+ Methodology in full at [`docs/methodology.md`](docs/methodology.md).
198
+ The short version:
199
+
200
+ 1. **No provider self-reports.** Every score comes from a
201
+ third-party evaluator running the same protocol across every
202
+ model.
203
+ 2. **No single-source dependence.** Eight independent benchmark
204
+ sources contribute today; no single leaderboard determines a
205
+ pick.
206
+ 3. **User intent beats LLM inference.** The system infers weights
207
+ from your purpose, but your stated `leaf_priorities` always
208
+ override the inference.
209
+ 4. **Honest gaps over invented signal.** Missing data is recorded
210
+ as missing — no interpolation, no synthetic scores. Coverage
211
+ gaps surface on every pick.
212
+
213
+ ---
214
+
215
+ ## Part of the Xpansion Framework
216
+
217
+ XFMS is one piece of a bigger architecture. The whole picture lives
218
+ at [`docs/xpansion-overview.md`](docs/xpansion-overview.md).
219
+
220
+ **Xpansion is in pre-signup right now.** Early access and founding
221
+ licenses are open at [xpansion.dev](https://xpansion.dev).
222
+
223
+ ---
224
+
225
+ ## Local development
226
+
227
+ ```bash
228
+ git clone https://github.com/VisionAIrySE/XFMS.git
229
+ cd XFMS
230
+ python3 -m venv .venv
231
+ .venv/bin/pip install -e .[dev]
232
+ .venv/bin/python -m pytest tests/ -v
233
+ ```
234
+
235
+ The tests mock the HTTP layer so they run offline — no API keys
236
+ needed to develop.
237
+
238
+ ---
239
+
240
+ ## License
241
+
242
+ This client library is MIT-licensed. The recommender engine, the
243
+ catalog, and the ingestion pipeline are not open source. See
244
+ [`NOTICE`](NOTICE) for the patent reservation language and the
245
+ relationship to the broader Xpansion Framework IP.
246
+
247
+ ---
248
+
249
+ ## Contact
250
+
251
+ - **Russ Wright** — russ@visionairy.biz
252
+ - **Xpansion Framework** — [xpansion.dev](https://xpansion.dev)
253
+ - **Security disclosures** — see [`SECURITY.md`](SECURITY.md)
xfms-0.1.0/README.md ADDED
@@ -0,0 +1,218 @@
1
+ # XFMS — Xpansion Framework Model Source
2
+
3
+ **Pick the right LLM for your task — without the Twitter vibes.**
4
+
5
+ State what you're using the model for. XFMS aggregates evidence from
6
+ eight independent benchmark sources, normalizes it onto a common
7
+ scale, lets your intent decide which dimensions matter, and returns
8
+ a ranked shortlist with plain-English rationale for every pick.
9
+
10
+ XFMS is one module of the **[Xpansion Framework](https://xpansion.dev)** —
11
+ a unified architecture for governing AI-assisted work.
12
+
13
+ ---
14
+
15
+ ## What this repository is
16
+
17
+ A **thin Python client** and **command-line tool** for calling the
18
+ hosted XFMS API at `xfms.vercel.app`. About 250 lines of code. It
19
+ turns a one-liner into a ranked LLM shortlist.
20
+
21
+ What this repository is **not**: the recommender engine, the score
22
+ catalog, or the ingestion pipeline. Those run on the hosted service.
23
+ The methodology behind every pick is published in full at
24
+ [docs/methodology.md](docs/methodology.md) — every claim there maps
25
+ to code that runs at request time, you just don't run it locally.
26
+
27
+ ---
28
+
29
+ ## What you say:
30
+
31
+ > *"Fixing bugs in our Python codebase."*
32
+
33
+ ## What you get:
34
+
35
+ ```
36
+ My pick: GPT-5.5
37
+
38
+ Strong on structured output and instruction following — the two
39
+ dimensions that dominate code-edit work. Beats the Claude family on
40
+ Aider Polyglot and matches it on LiveBench reasoning, at roughly
41
+ 60% of the per-token cost.
42
+
43
+ Alternatives:
44
+ 2. claude-sonnet-4.6 — closer on coding quality, higher cost
45
+ 3. gemini-3-pro — fastest, slightly weaker on tool use
46
+
47
+ Inferred weights from your purpose:
48
+ • structured_output_reliability 42.0% ← BigCodeBench, Aider
49
+ • instruction_following 28.0% ← LiveBench, Arena
50
+ • factuality 20.0% ← MMLU, GPQA
51
+ • coherence 10.0% ← LongBench
52
+ ```
53
+
54
+ ---
55
+
56
+ ## Install
57
+
58
+ ```bash
59
+ pip install xfms
60
+ ```
61
+
62
+ You need two free keys:
63
+
64
+ - **Xpansion Framework Model Source access key** — identifies you
65
+ to the hosted API. Request one by submitting your email to the
66
+ signup endpoint:
67
+
68
+ ```bash
69
+ curl -X POST https://xfms.vercel.app/signup \
70
+ -H "Content-Type: application/json" \
71
+ -d '{"email":"you@yourdomain.com"}'
72
+ ```
73
+
74
+ You'll get a confirmation email; click the button inside and
75
+ your API key arrives in a follow-up email.
76
+
77
+ - **OpenRouter key** — your BYOK (bring-your-own-key). XFMS makes a
78
+ small LLM call per pick to figure out which benchmarks matter for
79
+ your stated purpose. That call goes through *your* OpenRouter
80
+ account, so your inference cost stays with you (~$0.001 per
81
+ pick). Sign up at [openrouter.ai/keys](https://openrouter.ai/keys).
82
+
83
+ Configure them once:
84
+
85
+ ```bash
86
+ export XFMS_API_KEY=xfms_live_...
87
+ export OPENROUTER_API_KEY=sk-or-v1-...
88
+ ```
89
+
90
+ ## Use
91
+
92
+ **Command line:**
93
+
94
+ ```bash
95
+ xfms rank "writing a tight editorial under a budget"
96
+ ```
97
+
98
+ ```bash
99
+ xfms pick "fixing bugs in our Python codebase"
100
+ ```
101
+
102
+ ```bash
103
+ xfms rank "summarizing a long legal contract" --top-n 3
104
+ ```
105
+
106
+ ```bash
107
+ xfms rank "OCR a handwritten manifest" -c vision -c tool_use
108
+ ```
109
+
110
+ **Python:**
111
+
112
+ ```python
113
+ from xfms_client import XFMSClient
114
+
115
+ with XFMSClient() as xfms:
116
+ result = xfms.rank("writing a tight editorial under a budget")
117
+ print(result["models"][0]["name"])
118
+ ```
119
+
120
+ Or the one-shot:
121
+
122
+ ```python
123
+ from xfms_client import pick
124
+ print(pick("fixing bugs in our Python codebase")["name"])
125
+ ```
126
+
127
+ ## Override the system's inference
128
+
129
+ If you know which quality dimension matters most for your task, say
130
+ so — your preference always wins over the LLM's inference:
131
+
132
+ ```bash
133
+ xfms rank "code refactor" --leaf-priorities "structured_output_reliability=1.0,factuality=0.5"
134
+ ```
135
+
136
+ ```python
137
+ xfms.rank(
138
+ "code refactor",
139
+ leaf_priorities={"structured_output_reliability": 1.0, "factuality": 0.5},
140
+ )
141
+ ```
142
+
143
+ ---
144
+
145
+ ## Why BYOK
146
+
147
+ The hosted XFMS endpoint runs your purpose through a small language
148
+ model to figure out which benchmarks matter most for your task —
149
+ that's how the "inferred weights" block in the response gets built.
150
+
151
+ That model call goes through *your* OpenRouter account, not ours.
152
+ You pay for your own thinking; we pay for keeping the catalog
153
+ fresh. It's the right alignment of who's on the hook for what.
154
+
155
+ Typical cost per pick: about **$0.001** on OpenRouter (one short
156
+ classifier call).
157
+
158
+ ---
159
+
160
+ ## How XFMS picks — the four principles
161
+
162
+ Methodology in full at [`docs/methodology.md`](docs/methodology.md).
163
+ The short version:
164
+
165
+ 1. **No provider self-reports.** Every score comes from a
166
+ third-party evaluator running the same protocol across every
167
+ model.
168
+ 2. **No single-source dependence.** Eight independent benchmark
169
+ sources contribute today; no single leaderboard determines a
170
+ pick.
171
+ 3. **User intent beats LLM inference.** The system infers weights
172
+ from your purpose, but your stated `leaf_priorities` always
173
+ override the inference.
174
+ 4. **Honest gaps over invented signal.** Missing data is recorded
175
+ as missing — no interpolation, no synthetic scores. Coverage
176
+ gaps surface on every pick.
177
+
178
+ ---
179
+
180
+ ## Part of the Xpansion Framework
181
+
182
+ XFMS is one piece of a bigger architecture. The whole picture lives
183
+ at [`docs/xpansion-overview.md`](docs/xpansion-overview.md).
184
+
185
+ **Xpansion is in pre-signup right now.** Early access and founding
186
+ licenses are open at [xpansion.dev](https://xpansion.dev).
187
+
188
+ ---
189
+
190
+ ## Local development
191
+
192
+ ```bash
193
+ git clone https://github.com/VisionAIrySE/XFMS.git
194
+ cd XFMS
195
+ python3 -m venv .venv
196
+ .venv/bin/pip install -e .[dev]
197
+ .venv/bin/python -m pytest tests/ -v
198
+ ```
199
+
200
+ The tests mock the HTTP layer so they run offline — no API keys
201
+ needed to develop.
202
+
203
+ ---
204
+
205
+ ## License
206
+
207
+ This client library is MIT-licensed. The recommender engine, the
208
+ catalog, and the ingestion pipeline are not open source. See
209
+ [`NOTICE`](NOTICE) for the patent reservation language and the
210
+ relationship to the broader Xpansion Framework IP.
211
+
212
+ ---
213
+
214
+ ## Contact
215
+
216
+ - **Russ Wright** — russ@visionairy.biz
217
+ - **Xpansion Framework** — [xpansion.dev](https://xpansion.dev)
218
+ - **Security disclosures** — see [`SECURITY.md`](SECURITY.md)
@@ -0,0 +1,60 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "xfms"
7
+ version = "0.1.0"
8
+ description = "Pick the right LLM for your task. Xpansion Framework Model Source — aggregates 8 independent benchmark sources via the hosted XFMS API. BYOK so your inference cost stays with you."
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = {text = "MIT"}
12
+ authors = [
13
+ {name = "Russ Wright", email = "russ@visionairy.biz"},
14
+ ]
15
+ maintainers = [
16
+ {name = "Russ Wright", email = "russ@visionairy.biz"},
17
+ ]
18
+ keywords = [
19
+ "llm", "model-selection", "ai", "ai-tools", "claude-code",
20
+ "openrouter", "benchmarks", "llm-evaluation", "llm-routing",
21
+ "recommendation-system", "xpansion-framework", "byok",
22
+ "ai-evaluation", "model-recommender", "llm-comparison",
23
+ "anthropic", "openai", "google-gemini", "deepseek", "lmsys-arena",
24
+ ]
25
+ classifiers = [
26
+ "Development Status :: 4 - Beta",
27
+ "Intended Audience :: Developers",
28
+ "Intended Audience :: Information Technology",
29
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
30
+ "Topic :: Software Development :: Libraries :: Python Modules",
31
+ "Programming Language :: Python :: 3",
32
+ "Programming Language :: Python :: 3.10",
33
+ "Programming Language :: Python :: 3.11",
34
+ "Programming Language :: Python :: 3.12",
35
+ "Operating System :: OS Independent",
36
+ "License :: OSI Approved :: MIT License",
37
+ ]
38
+ dependencies = [
39
+ "httpx>=0.27",
40
+ ]
41
+
42
+ [project.optional-dependencies]
43
+ dev = [
44
+ "pytest>=8.0",
45
+ ]
46
+
47
+ [project.urls]
48
+ Homepage = "https://xpansion.dev"
49
+ Repository = "https://github.com/VisionAIrySE/XFMS"
50
+ Documentation = "https://github.com/VisionAIrySE/XFMS#readme"
51
+ "Methodology" = "https://github.com/VisionAIrySE/XFMS/blob/main/docs/methodology.md"
52
+ "Xpansion Framework" = "https://github.com/VisionAIrySE/XFMS/blob/main/docs/xpansion-overview.md"
53
+ "Bug Tracker" = "https://github.com/VisionAIrySE/XFMS/issues"
54
+ "Sponsor" = "https://github.com/sponsors/VisionAIrySE"
55
+
56
+ [project.scripts]
57
+ xfms = "xfms_client.cli:main"
58
+
59
+ [tool.setuptools]
60
+ packages = ["xfms_client"]
xfms-0.1.0/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+