solverforge 0.2.2__cp310-abi3-win_amd64.whl
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.
solverforge/__init__.py
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"""SolverForge - Constraint solver for Python.
|
|
2
|
+
|
|
3
|
+
This package provides Python bindings for the SolverForge constraint solver,
|
|
4
|
+
offering a 1:1 compatible API with Timefold's Python bindings.
|
|
5
|
+
|
|
6
|
+
Example:
|
|
7
|
+
>>> from solverforge import (
|
|
8
|
+
... planning_entity, planning_solution, constraint_provider,
|
|
9
|
+
... PlanningId, PlanningVariable, HardSoftScore,
|
|
10
|
+
... )
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
from solverforge._solverforge import (
|
|
14
|
+
__version__,
|
|
15
|
+
# Annotation marker classes
|
|
16
|
+
PlanningId,
|
|
17
|
+
PlanningVariable,
|
|
18
|
+
PlanningListVariable,
|
|
19
|
+
PlanningScore,
|
|
20
|
+
ValueRangeProvider,
|
|
21
|
+
ProblemFactProperty,
|
|
22
|
+
ProblemFactCollectionProperty,
|
|
23
|
+
PlanningEntityProperty,
|
|
24
|
+
PlanningEntityCollectionProperty,
|
|
25
|
+
PlanningPin,
|
|
26
|
+
InverseRelationShadowVariable,
|
|
27
|
+
# Score types
|
|
28
|
+
SimpleScore,
|
|
29
|
+
HardSoftScore,
|
|
30
|
+
HardMediumSoftScore,
|
|
31
|
+
# Decorators
|
|
32
|
+
planning_entity,
|
|
33
|
+
planning_solution,
|
|
34
|
+
get_domain_class,
|
|
35
|
+
build_domain_model,
|
|
36
|
+
DomainClass,
|
|
37
|
+
DomainModel,
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
__all__ = [
|
|
41
|
+
"__version__",
|
|
42
|
+
# Annotation marker classes
|
|
43
|
+
"PlanningId",
|
|
44
|
+
"PlanningVariable",
|
|
45
|
+
"PlanningListVariable",
|
|
46
|
+
"PlanningScore",
|
|
47
|
+
"ValueRangeProvider",
|
|
48
|
+
"ProblemFactProperty",
|
|
49
|
+
"ProblemFactCollectionProperty",
|
|
50
|
+
"PlanningEntityProperty",
|
|
51
|
+
"PlanningEntityCollectionProperty",
|
|
52
|
+
"PlanningPin",
|
|
53
|
+
"InverseRelationShadowVariable",
|
|
54
|
+
# Score types
|
|
55
|
+
"SimpleScore",
|
|
56
|
+
"HardSoftScore",
|
|
57
|
+
"HardMediumSoftScore",
|
|
58
|
+
# Decorators
|
|
59
|
+
"planning_entity",
|
|
60
|
+
"planning_solution",
|
|
61
|
+
"get_domain_class",
|
|
62
|
+
"build_domain_model",
|
|
63
|
+
"DomainClass",
|
|
64
|
+
"DomainModel",
|
|
65
|
+
]
|
|
Binary file
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: solverforge
|
|
3
|
+
Version: 0.2.2
|
|
4
|
+
Classifier: Programming Language :: Rust
|
|
5
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
|
+
Classifier: Programming Language :: Python :: 3
|
|
7
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
14
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
15
|
+
Summary: Python bindings for SolverForge constraint solver
|
|
16
|
+
Keywords: constraint,solver,optimization,scheduling,planning
|
|
17
|
+
License: Apache-2.0
|
|
18
|
+
Requires-Python: >=3.10
|
|
19
|
+
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
20
|
+
Project-URL: Homepage, https://solverforge.org
|
|
21
|
+
Project-URL: Documentation, https://docs.solverforge.org
|
|
22
|
+
Project-URL: Repository, https://github.com/solverforge/solverforge
|
|
23
|
+
Project-URL: Bug Tracker, https://github.com/solverforge/solverforge/issues
|
|
24
|
+
Project-URL: Changelog, https://github.com/solverforge/solverforge/blob/main/CHANGELOG.md
|
|
25
|
+
|
|
26
|
+
# SolverForge
|
|
27
|
+
|
|
28
|
+
Python bindings for the SolverForge constraint solver.
|
|
29
|
+
|
|
30
|
+
## Installation
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
pip install solverforge
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Quick Start
|
|
37
|
+
|
|
38
|
+
```python
|
|
39
|
+
from solverforge import (
|
|
40
|
+
planning_entity,
|
|
41
|
+
planning_solution,
|
|
42
|
+
PlanningId,
|
|
43
|
+
PlanningVariable,
|
|
44
|
+
HardSoftScore,
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
@planning_entity
|
|
48
|
+
class Lesson:
|
|
49
|
+
id: str
|
|
50
|
+
subject: str
|
|
51
|
+
timeslot: str | None = None
|
|
52
|
+
room: str | None = None
|
|
53
|
+
|
|
54
|
+
@planning_solution
|
|
55
|
+
class Timetable:
|
|
56
|
+
timeslots: list[str]
|
|
57
|
+
rooms: list[str]
|
|
58
|
+
lessons: list[Lesson]
|
|
59
|
+
score: HardSoftScore | None = None
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Features
|
|
63
|
+
|
|
64
|
+
- Declarative domain modeling with decorators
|
|
65
|
+
- Constraint streams for defining optimization rules
|
|
66
|
+
- Multiple score types (Simple, HardSoft, HardMediumSoft)
|
|
67
|
+
- Automatic WASM constraint compilation
|
|
68
|
+
|
|
69
|
+
## Requirements
|
|
70
|
+
|
|
71
|
+
- Python 3.10+
|
|
72
|
+
- Java 24+ (for solver service)
|
|
73
|
+
|
|
74
|
+
## Documentation
|
|
75
|
+
|
|
76
|
+
- [User Guide](https://docs.solverforge.org)
|
|
77
|
+
- [API Reference](https://docs.solverforge.org/python)
|
|
78
|
+
- [Examples](https://github.com/solverforge/solverforge/tree/main/examples)
|
|
79
|
+
|
|
80
|
+
## License
|
|
81
|
+
|
|
82
|
+
Apache-2.0
|
|
83
|
+
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
solverforge-0.2.2.dist-info/METADATA,sha256=M-gYBLgkS7EiWZWPwCnp26dlRdHm6vHahGchrrOXEo8,2319
|
|
2
|
+
solverforge-0.2.2.dist-info/WHEEL,sha256=K5qNJKkFQL1BjzLwCu0_aKvm-imQhTUn0FEds_cjhx4,96
|
|
3
|
+
solverforge/__init__.py,sha256=fqU9F4vxYaKZhYVNrQRv2eNpIwOvRi1JUp2xaWQUQ70,1644
|
|
4
|
+
solverforge/_solverforge.pyd,sha256=W4xziVWDM1m7t7hDGFDvhwN8CZ7_TwDZcxQ9-vfgRqA,4910080
|
|
5
|
+
solverforge-0.2.2.dist-info/RECORD,,
|