massgen 0.0.3__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.

Potentially problematic release.


This version of massgen might be problematic. Click here for more details.

Files changed (86) hide show
  1. massgen-0.0.3/CHANGELOG.md +43 -0
  2. massgen-0.0.3/CONTRIBUTING.md +135 -0
  3. massgen-0.0.3/LICENSE +204 -0
  4. massgen-0.0.3/MANIFEST.in +12 -0
  5. massgen-0.0.3/PKG-INFO +568 -0
  6. massgen-0.0.3/README.md +511 -0
  7. massgen-0.0.3/massgen/__init__.py +94 -0
  8. massgen-0.0.3/massgen/agent_config.py +507 -0
  9. massgen-0.0.3/massgen/backend/CLAUDE_API_RESEARCH.md +266 -0
  10. massgen-0.0.3/massgen/backend/Function calling openai responses.md +1161 -0
  11. massgen-0.0.3/massgen/backend/GEMINI_API_DOCUMENTATION.md +410 -0
  12. massgen-0.0.3/massgen/backend/OPENAI_RESPONSES_API_FORMAT.md +65 -0
  13. massgen-0.0.3/massgen/backend/__init__.py +25 -0
  14. massgen-0.0.3/massgen/backend/base.py +180 -0
  15. massgen-0.0.3/massgen/backend/chat_completions.py +228 -0
  16. massgen-0.0.3/massgen/backend/claude.py +661 -0
  17. massgen-0.0.3/massgen/backend/gemini.py +652 -0
  18. massgen-0.0.3/massgen/backend/grok.py +187 -0
  19. massgen-0.0.3/massgen/backend/response.py +397 -0
  20. massgen-0.0.3/massgen/chat_agent.py +440 -0
  21. massgen-0.0.3/massgen/cli.py +686 -0
  22. massgen-0.0.3/massgen/configs/README.md +293 -0
  23. massgen-0.0.3/massgen/configs/creative_team.yaml +53 -0
  24. massgen-0.0.3/massgen/configs/gemini_4o_claude.yaml +31 -0
  25. massgen-0.0.3/massgen/configs/news_analysis.yaml +51 -0
  26. massgen-0.0.3/massgen/configs/research_team.yaml +51 -0
  27. massgen-0.0.3/massgen/configs/single_agent.yaml +18 -0
  28. massgen-0.0.3/massgen/configs/single_flash2.5.yaml +44 -0
  29. massgen-0.0.3/massgen/configs/technical_analysis.yaml +51 -0
  30. massgen-0.0.3/massgen/configs/three_agents_default.yaml +31 -0
  31. massgen-0.0.3/massgen/configs/travel_planning.yaml +51 -0
  32. massgen-0.0.3/massgen/configs/two_agents.yaml +39 -0
  33. massgen-0.0.3/massgen/frontend/__init__.py +20 -0
  34. massgen-0.0.3/massgen/frontend/coordination_ui.py +945 -0
  35. massgen-0.0.3/massgen/frontend/displays/__init__.py +24 -0
  36. massgen-0.0.3/massgen/frontend/displays/base_display.py +83 -0
  37. massgen-0.0.3/massgen/frontend/displays/rich_terminal_display.py +3497 -0
  38. massgen-0.0.3/massgen/frontend/displays/simple_display.py +93 -0
  39. massgen-0.0.3/massgen/frontend/displays/terminal_display.py +381 -0
  40. massgen-0.0.3/massgen/frontend/logging/__init__.py +9 -0
  41. massgen-0.0.3/massgen/frontend/logging/realtime_logger.py +197 -0
  42. massgen-0.0.3/massgen/message_templates.py +431 -0
  43. massgen-0.0.3/massgen/orchestrator.py +1222 -0
  44. massgen-0.0.3/massgen/tests/__init__.py +10 -0
  45. massgen-0.0.3/massgen/tests/multi_turn_conversation_design.md +214 -0
  46. massgen-0.0.3/massgen/tests/multiturn_llm_input_analysis.md +189 -0
  47. massgen-0.0.3/massgen/tests/test_case_studies.md +113 -0
  48. massgen-0.0.3/massgen/tests/test_claude_backend.py +310 -0
  49. massgen-0.0.3/massgen/tests/test_grok_backend.py +160 -0
  50. massgen-0.0.3/massgen/tests/test_message_context_building.py +293 -0
  51. massgen-0.0.3/massgen/tests/test_rich_terminal_display.py +378 -0
  52. massgen-0.0.3/massgen/tests/test_v3_3agents.py +117 -0
  53. massgen-0.0.3/massgen/tests/test_v3_simple.py +216 -0
  54. massgen-0.0.3/massgen/tests/test_v3_three_agents.py +272 -0
  55. massgen-0.0.3/massgen/tests/test_v3_two_agents.py +176 -0
  56. massgen-0.0.3/massgen/utils.py +79 -0
  57. massgen-0.0.3/massgen/v1/README.md +330 -0
  58. massgen-0.0.3/massgen/v1/__init__.py +91 -0
  59. massgen-0.0.3/massgen/v1/agent.py +605 -0
  60. massgen-0.0.3/massgen/v1/agents.py +330 -0
  61. massgen-0.0.3/massgen/v1/backends/gemini.py +584 -0
  62. massgen-0.0.3/massgen/v1/backends/grok.py +410 -0
  63. massgen-0.0.3/massgen/v1/backends/oai.py +571 -0
  64. massgen-0.0.3/massgen/v1/cli.py +351 -0
  65. massgen-0.0.3/massgen/v1/config.py +169 -0
  66. massgen-0.0.3/massgen/v1/examples/fast-4o-mini-config.yaml +44 -0
  67. massgen-0.0.3/massgen/v1/examples/fast_config.yaml +44 -0
  68. massgen-0.0.3/massgen/v1/examples/production.yaml +70 -0
  69. massgen-0.0.3/massgen/v1/examples/single_agent.yaml +39 -0
  70. massgen-0.0.3/massgen/v1/logging.py +974 -0
  71. massgen-0.0.3/massgen/v1/main.py +368 -0
  72. massgen-0.0.3/massgen/v1/orchestrator.py +1138 -0
  73. massgen-0.0.3/massgen/v1/streaming_display.py +1190 -0
  74. massgen-0.0.3/massgen/v1/tools.py +160 -0
  75. massgen-0.0.3/massgen/v1/types.py +245 -0
  76. massgen-0.0.3/massgen/v1/utils.py +199 -0
  77. massgen-0.0.3/massgen.egg-info/PKG-INFO +568 -0
  78. massgen-0.0.3/massgen.egg-info/SOURCES.txt +84 -0
  79. massgen-0.0.3/massgen.egg-info/dependency_links.txt +1 -0
  80. massgen-0.0.3/massgen.egg-info/entry_points.txt +2 -0
  81. massgen-0.0.3/massgen.egg-info/not-zip-safe +1 -0
  82. massgen-0.0.3/massgen.egg-info/requires.txt +32 -0
  83. massgen-0.0.3/massgen.egg-info/top_level.txt +1 -0
  84. massgen-0.0.3/pyproject.toml +192 -0
  85. massgen-0.0.3/requirements.txt +10 -0
  86. massgen-0.0.3/setup.cfg +4 -0
@@ -0,0 +1,43 @@
1
+ # Changelog
2
+
3
+ All notable changes to MassGen will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.0.3] - 2025-08-03
9
+
10
+ ### Added
11
+ - Complete architecture with foundation release
12
+ - Multi-backend support: OpenAI (Responses API), Claude (Messages API), Grok (Chat API)
13
+ - Builtin tools: Code execution and web search with streaming results
14
+ - Async streaming with proper chat agent interfaces and tool result handling
15
+ - Multi-agent orchestration with voting and consensus mechanisms
16
+ - Real-time frontend displays with multi-region terminal UI
17
+ - CLI with file-based YAML configuration and interactive mode
18
+ - Proper StreamChunk architecture separating tool_calls from builtin_tool_results
19
+ - Multi-turn conversation support with dynamic context reconstruction
20
+ - Chat interface with orchestrator supporting async streaming
21
+ - Case study configurations and specialized YAML configs
22
+ - Claude backend support with production-ready multi-tool API and streaming
23
+ - OpenAI builtin tools support for code execution and web search streaming
24
+
25
+ ### Fixed
26
+ - Grok backend testing and compatibility issues
27
+ - CLI multi-turn conversation display with coordination UI integration
28
+ - Claude streaming handler with proper tool argument capture
29
+ - CLI backend parameter passing with proper ConfigurableAgent integration
30
+
31
+ ### Changed
32
+ - Restructured codebase with new architecture
33
+ - Improved message handling and streaming capabilities
34
+ - Enhanced frontend features and user experience
35
+
36
+ ## [0.0.1] - Initial Release
37
+
38
+ ### Added
39
+ - Basic multi-agent system framework
40
+ - Support for OpenAI, Gemini, and Grok backends
41
+ - Simple configuration system
42
+ - Basic streaming display
43
+ - Initial logging capabilities
@@ -0,0 +1,135 @@
1
+ # Contributing to MassGen
2
+
3
+ Thank you for your interest in contributing to MassGen (Multi-Agent Scaling System for GenAI)! We welcome contributions from the community and are excited to see what you'll bring to the project.
4
+
5
+ ## 🛠️ Development Guidelines
6
+
7
+ ### Project Structure
8
+
9
+ ```
10
+ massgen/
11
+ ├── __init__.py # Main package exports
12
+ ├── cli.py # Command-line interface
13
+ ├── orchestrator.py # Multi-agent coordination
14
+ ├── chat_agent.py # Chat agent implementation
15
+ ├── agent_config.py # Agent configuration management
16
+ ├── message_templates.py # Message template system
17
+ ├── utils.py # Helper functions and model registry
18
+ ├── backend/ # Model-specific implementations
19
+ │ ├── base.py # Base backend interface
20
+ │ ├── chat_completions.py # Chat completion utilities
21
+ │ ├── response.py # Response handling
22
+ │ ├── claude.py # Anthropic Claude backend
23
+ │ ├── gemini.py # Google Gemini backend
24
+ │ ├── grok.py # xAI Grok backend
25
+ │ └── openai.py # OpenAI backend (in chat_completions.py)
26
+ ├── frontend/ # User interface components
27
+ │ ├── coordination_ui.py # Main UI coordination
28
+ │ ├── displays/ # Display implementations
29
+ │ │ ├── base_display.py
30
+ │ │ ├── rich_terminal_display.py
31
+ │ │ ├── simple_display.py
32
+ │ │ └── terminal_display.py
33
+ │ └── logging/ # Logging system
34
+ │ └── realtime_logger.py
35
+ ├── configs/ # Configuration files
36
+ │ ├── *.yaml # Various agent configurations
37
+ │ └── README.md # Configuration documentation
38
+ └── tests/ # Test files
39
+ └── *.py # Test implementations
40
+ ```
41
+
42
+ ### Adding New Model Backends
43
+
44
+ To add support for a new model provider:
45
+
46
+ 1. Create a new file in `massgen/backend/` (e.g., `new_provider.py`)
47
+ 2. Inherit from the base backend class in `massgen/backend/base.py`
48
+ 3. Implement the required methods for message processing and completion parsing
49
+ 4. Add the model mapping in `massgen/utils.py`
50
+ 5. Update configuration templates in `massgen/configs/`
51
+ 6. Add tests in `massgen/tests/`
52
+ 7. Update documentation
53
+
54
+ ### Installation and Setup
55
+
56
+ #### Prerequisites
57
+
58
+ - Python 3.10 or higher
59
+ - API keys for the model providers you want to use
60
+
61
+ #### Development Setup
62
+
63
+ ```bash
64
+ # Clone the repository
65
+ git clone https://github.com/Leezekun/MassGen.git
66
+ cd MassGen
67
+
68
+ # Install uv for dependency management
69
+ pip install uv
70
+
71
+ # Create virtual environment
72
+ uv venv
73
+
74
+ # Install dependencies (if requirements.txt exists)
75
+ uv pip install -r requirements.txt
76
+ ```
77
+
78
+ #### Environment Configuration
79
+
80
+ Create a `.env` file in the `massgen` directory as described in [README](README.md)
81
+
82
+ ### Contributing Areas
83
+
84
+ We welcome contributions in these areas:
85
+
86
+ - **New Model Backends**: Add support for additional AI models (Claude, local models via vLLM/SGLang, etc.)
87
+ - **Enhanced User Interface**: Improve the web interface, terminal displays, and visualization features
88
+ - **Performance & Scalability**: Optimize streaming, logging, coordination, and resource management
89
+ - **Advanced Agent Collaboration**: Improve communication patterns and consensus-building protocols
90
+ - **AG2 Integration**: Support AG2 agents in MassGen
91
+ - **Tool Ecosystem Integration**: Add support for MCP Servers and additional tool capabilities
92
+ - **Configuration & Templates**: Expand agent configuration options and pre-built templates
93
+ - **Documentation**: Add guides, examples, use cases, and comprehensive API documentation
94
+ - **Testing & Benchmarking**: Add test coverage and benchmarking frameworks
95
+ - **Bug Fixes**: Fix issues and edge cases
96
+
97
+ ### Development Workflow
98
+
99
+ > **Important**: Our next version is v0.0.4. If you want to contribute, please contribute to the `dev/v0.0.4` branch.
100
+
101
+ 1. **Fork the repository** and create a feature branch from `dev/v0.0.4`
102
+ 2. **Set up the development environment** following the setup instructions above
103
+ 3. **Make your changes** following the existing code style and patterns
104
+ 4. **Add tests** for new functionality
105
+ 5. **Update documentation** if needed
106
+ 6. **Test your changes** thoroughly with different configurations
107
+ 7. **Submit a pull request** with a clear description of your changes
108
+
109
+ ### Testing
110
+
111
+ Run tests to ensure your changes work correctly:
112
+
113
+ ```bash
114
+ # Run specific test files
115
+ uv run python -m pytest massgen/tests/test_*.py
116
+
117
+ # Test with different configurations
118
+ uv run python -m massgen.cli --config massgen/configs/single_4omini.yaml "Test question"
119
+ ```
120
+
121
+ ## 🤝 Community
122
+
123
+ - **Discord**: Join the #massgen channel of AG2 Discord server: https://discord.gg/VVrT2rQaz5
124
+ - **X**: Follow the official MassGen X account: https://x.com/MassGen_Offical
125
+ - **GitHub Issues**: Report bugs and request features
126
+ - **GitHub Discussions**: Ask questions and share ideas
127
+
128
+
129
+ ## 📄 License
130
+
131
+ By contributing, you agree that your contributions will be licensed under the same Apache License 2.0 that covers the project.
132
+
133
+ ---
134
+
135
+ Thank you for contributing to MassGen! 🚀
massgen-0.0.3/LICENSE ADDED
@@ -0,0 +1,204 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity granting the License.
13
+
14
+ "Legal Entity" shall mean the union of the acting entity and all
15
+ other entities that control, are controlled by, or are under common
16
+ control with that entity. For the purposes of this definition,
17
+ "control" means (i) the power, direct or indirect, to cause the
18
+ direction or management of such entity, whether by contract or
19
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
20
+ outstanding shares, or (iii) beneficial ownership of such entity.
21
+
22
+ "You" (or "Your") shall mean an individual or Legal Entity
23
+ exercising permissions granted by this License.
24
+
25
+ "Source" form shall mean the preferred form for making modifications,
26
+ including but not limited to software source code, documentation
27
+ source, and configuration files.
28
+
29
+ "Object" form shall mean any form resulting from mechanical
30
+ transformation or translation of a Source form, including but
31
+ not limited to compiled object code, generated documentation,
32
+ and conversions to other media types.
33
+
34
+ "Work" shall mean the work of authorship, whether in Source or
35
+ Object form, made available under the License, as indicated by a
36
+ copyright notice that is included in or attached to the work
37
+ (which shall not include communications that are marked or
38
+ otherwise designated in writing by the copyright owner as
39
+ "Not a Work").
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based upon (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and derivative works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to the Licensor for inclusion in the Work by the copyright
53
+ owner or by an individual or Legal Entity authorized to submit on
54
+ behalf of the copyright owner. For the purposes of this definition,
55
+ "submitted" means any form of electronic, verbal, or written
56
+ communication sent to the Licensor or its representatives, including
57
+ but not limited to communication on electronic mailing lists, source
58
+ code control systems, and issue tracking systems that are managed by,
59
+ or on behalf of, the Licensor for the purpose of discussing and
60
+ improving the Work, but excluding communication that is conspicuously
61
+ marked or otherwise designated in writing by the copyright owner as
62
+ "Not a Contribution."
63
+
64
+ "Contributor" shall mean Licensor and any individual or Legal Entity
65
+ on behalf of whom a Contribution has been received by Licensor and
66
+ subsequently incorporated within the Work.
67
+
68
+ 2. Grant of Copyright License. Subject to the terms and conditions of
69
+ this License, each Contributor hereby grants to You a perpetual,
70
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
71
+ copyright license to use, reproduce, modify, merge, publish,
72
+ distribute, sublicense, and/or sell copies of the Work, and to
73
+ permit persons to whom the Work is furnished to do so, subject to
74
+ the following conditions:
75
+
76
+ The above copyright notice and this permission notice shall be
77
+ included in all copies or substantial portions of the Work.
78
+
79
+ 3. Grant of Patent License. Subject to the terms and conditions of
80
+ this License, each Contributor hereby grants to You a perpetual,
81
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
82
+ (except as stated in this section) patent license to make, have made,
83
+ use, offer to sell, sell, import, and otherwise transfer the Work,
84
+ where such license applies only to those patent claims licensable
85
+ by such Contributor that are necessarily infringed by their
86
+ Contribution(s) alone or by combination of their Contribution(s)
87
+ with the Work to which such Contribution(s) was submitted. If You
88
+ institute patent litigation against any entity (including a
89
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
90
+ or a Contribution incorporated within the Work constitutes direct
91
+ or contributory patent infringement, then any patent licenses
92
+ granted to You under this License for that Work shall terminate
93
+ as of the date such litigation is filed.
94
+
95
+ 4. Redistribution. You may reproduce and distribute copies of the
96
+ Work or Derivative Works thereof in any medium, with or without
97
+ modifications, and in Source or Object form, provided that You
98
+ meet the following conditions:
99
+
100
+ (a) You must give any other recipients of the Work or
101
+ Derivative Works a copy of this License; and
102
+
103
+ (b) You must cause any modified files to carry prominent notices
104
+ stating that You changed the files; and
105
+
106
+ (c) You must retain, in the Source form of any Derivative Works
107
+ that You distribute, all copyright, patent, trademark, and
108
+ attribution notices from the Source form of the Work,
109
+ excluding those notices that do not pertain to any part of
110
+ the Derivative Works; and
111
+
112
+ (d) If the Work includes a "NOTICE" text file as part of its
113
+ distribution, then any Derivative Works that You distribute must
114
+ include a readable copy of the attribution notices contained
115
+ within such NOTICE file, excluding those notices that do not
116
+ pertain to any part of the Derivative Works, in at least one
117
+ of the following places: within a NOTICE text file distributed
118
+ as part of the Derivative Works; within the Source form or
119
+ documentation, if provided along with the Derivative Works; or,
120
+ within a display generated by the Derivative Works, if and
121
+ wherever such third-party notices normally appear. The contents
122
+ of the NOTICE file are for informational purposes only and
123
+ do not modify the License. You may add Your own attribution
124
+ notices within Derivative Works that You distribute, alongside
125
+ or as an addendum to the NOTICE text from the Work, provided
126
+ that such additional attribution notices cannot be construed
127
+ as modifying the License.
128
+
129
+ You may add Your own copyright notice and conditions for use,
130
+ reproduction, or distribution of Your contributions, or such
131
+ Derivative Works as a whole, provided Your use, reproduction,
132
+ and distribution of the Work otherwise complies with the
133
+ conditions stated in this License.
134
+
135
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
136
+ any Contribution intentionally submitted for inclusion in the Work
137
+ by You to the Licensor shall be under the terms and conditions of
138
+ this License, without any additional terms or conditions.
139
+ Notwithstanding the above, nothing herein shall supersede or modify
140
+ the terms of any separate license agreement you may have executed
141
+ with Licensor regarding such Contributions.
142
+
143
+ 6. Trademarks. This License does not grant permission to use the trade
144
+ names, trademarks, service marks, or product names of the Licensor,
145
+ except as required for reasonable and customary use in describing the
146
+ origin of the Work and reproducing the content of the NOTICE file.
147
+
148
+ 7. Disclaimer of Warranty. Unless required by applicable law or
149
+ agreed to in writing, Licensor provides the Work (and each
150
+ Contributor provides its Contributions) on an "AS IS" BASIS,
151
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
152
+ implied, including, without limitation, any warranties or conditions
153
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
154
+ PARTICULAR PURPOSE. You are solely responsible for determining the
155
+ appropriateness of using or redistributing the Work and assume any
156
+ risks associated with Your exercise of permissions under this License.
157
+
158
+ 8. Limitation of Liability. In no event and under no legal theory,
159
+ whether in tort (including negligence), contract, or otherwise,
160
+ unless required by applicable law (such as deliberate and grossly
161
+ negligent acts) or agreed to in writing, shall any Contributor be
162
+ liable to You for damages, including any direct, indirect, special,
163
+ incidental, or consequential damages of any character arising as a
164
+ result of this License or out of the use or inability to use the
165
+ Work (including but not limited to damages for loss of goodwill,
166
+ work stoppage, computer failure or malfunction, or any and all
167
+ other commercial damages or losses), even if such Contributor
168
+ has been advised of the possibility of such damages.
169
+
170
+ 9. Accepting Warranty or Additional Support. When redistributing
171
+ the Work or Derivative Works thereof, You may choose to offer,
172
+ and charge a fee for, acceptance of support, warranty, indemnity,
173
+ or other liability obligations and/or rights consistent with this
174
+ License. However, in accepting such obligations, You may act only
175
+ on Your own behalf and on Your sole responsibility, not on behalf
176
+ of any other Contributor, and only if You agree to indemnify,
177
+ defend, and hold each Contributor harmless for any liability
178
+ incurred by, or claims asserted against, such Contributor by reason
179
+ of your accepting any such warranty or additional support.
180
+
181
+ END OF TERMS AND CONDITIONS
182
+
183
+ APPENDIX: How to apply the Apache License to your work.
184
+
185
+ To apply the Apache License to your work, attach the following
186
+ boilerplate notice, with the fields enclosed by brackets "[]"
187
+ replaced with your own identifying information. Don't include
188
+ the brackets! The text should be enclosed in comments for
189
+ the particular file format. (We also recommend that a file or
190
+ class header include a "short form" notice as follows:
191
+
192
+ Copyright [yyyy] [name of copyright owner]
193
+
194
+ Licensed under the Apache License, Version 2.0 (the "License");
195
+ you may not use this file except in compliance with the License.
196
+ You may obtain a copy of the License at
197
+
198
+ http://www.apache.org/licenses/
199
+
200
+ Unless required by applicable law or agreed to in writing, software
201
+ distributed under the License is distributed on an "AS IS" BASIS,
202
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
203
+ See the License for the specific language governing permissions and
204
+ limitations under the License.
@@ -0,0 +1,12 @@
1
+ include README.md
2
+ include LICENSE
3
+ include CONTRIBUTING.md
4
+ include CHANGELOG.md
5
+ include requirements.txt
6
+ include examples/*.yaml
7
+ include massgen/backends/.env.example
8
+ recursive-exclude * __pycache__
9
+ recursive-exclude * *.py[co]
10
+ exclude .gitignore
11
+ exclude *.log
12
+ exclude logs/*