MIT License with Commons Clause

Copyright (c) 2024-2026 BGE Advisory

"Commons Clause" License Condition v1.0

The Software is provided to you by the Licensor under the License, as defined
below, subject to the following condition.

Without limiting other conditions in the License, the grant of rights under the
License will not include, and the License does not grant to you, the right to
Sell the Software.

For purposes of the foregoing, "Sell" means practicing any or all of the rights
granted to you under the License to provide to third parties, for a fee or
other consideration (including without limitation fees for hosting or
consulting/ support services related to the Software), a product or service
whose value derives, entirely or substantially, from the functionality of the
Software. Any license notice or attribution required by the License must also
include this Commons Clause License Condition notice.

Software: XPyCode
License: MIT License
Licensor:  BGE Advisory

---

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions: 

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. 

================================================================================
                          THIRD-PARTY DEPENDENCIES
================================================================================

XPyCode Master uses the following third-party libraries.  We are grateful to 
the developers and maintainers of these projects. 

--------------------------------------------------------------------------------
                            PYTHON DEPENDENCIES
--------------------------------------------------------------------------------

Package                 License                         Repository
----------------------- ------------------------------- --------------------------
FastAPI                 MIT                             github.com/fastapi/fastapi
uvicorn                 BSD-3-Clause                    github.com/encode/uvicorn
websockets              BSD-3-Clause                    github.com/python-websockets/websockets
aiohttp                 Apache-2.0                      github.com/aio-libs/aiohttp
packaging               Apache-2.0 OR BSD-2-Clause      github.com/pypa/packaging
python-lsp-server       MIT                             github.com/python-lsp/python-lsp-server
jedi                    MIT                             github.com/davidhalter/jedi
pyflakes                MIT                             github.com/PyCQA/pyflakes
cryptography            Apache-2.0 OR BSD-3-Clause      github.com/pyca/cryptography
pip-system-certs        BSD-2-Clause                    gitlab.com/seanbudd/pip-system-certs
requests-ntlm           ISC                             github.com/requests/requests-ntlm
PySide6                 LGPL-3. 0 / GPL-2.0 / Commercial qt.io/qt-for-python
qasync                  BSD-2-Clause                    github.com/CabbageDevelopment/qasync
keyring                 MIT OR PSF-2.0                  github.com/jaraco/keyring
pandas                  BSD-3-Clause                    github.com/pandas-dev/pandas
mkdocs                  BSD-2-Clause                    github.com/mkdocs/mkdocs
mkdocs-material         MIT                             github.com/squidfunk/mkdocs-material
mkdocs-glightbox        MIT                             github.com/blueswen/mkdocs-glightbox
pymdown-extensions      MIT                             github.com/facelessuser/pymdown-extensions

--------------------------------------------------------------------------------
                         JAVASCRIPT/WEB DEPENDENCIES
--------------------------------------------------------------------------------

Package                 License                         Repository
----------------------- ------------------------------- --------------------------
Monaco Editor           MIT                             github.com/microsoft/monaco-editor
qwebchannel.js          LGPL-3.0-only                   code.qt.io/qt/qtwebchannel.git

================================================================================
                       DETAILED LICENSE INFORMATION
================================================================================

FastAPI
-------
License: MIT License
Copyright (c) 2018 Sebastián Ramírez
https://github.com/fastapi/fastapi

uvicorn
-------
License: BSD 3-Clause License
Copyright (c) 2017-present, Encode OSS Ltd.
https://github.com/encode/uvicorn

websockets
----------
License: BSD 3-Clause License
Copyright (c) Aymeric Augustin and contributors
https://github.com/python-websockets/websockets

aiohttp
-------
License: Apache License 2.0
Copyright aio-libs contributors
https://github.com/aio-libs/aiohttp

packaging
---------
License: Apache License 2.0 OR BSD 2-Clause License (dual-licensed)
Copyright (c) Donald Stufft and individual contributors
https://github.com/pypa/packaging

python-lsp-server
-----------------
License: MIT License
Copyright (c) 2017-2022 Palantir Technologies, Inc.  and python-lsp-server contributors
https://github.com/python-lsp/python-lsp-server

jedi
----
License: MIT License
Copyright (c) 2012 - David Halter and contributors
https://github.com/davidhalter/jedi

pyflakes
--------
License: MIT License
Copyright (c) 2005-2023 Divmod, Inc.  and contributors
https://github.com/PyCQA/pyflakes

cryptography
------------
License: Apache License 2.0 OR BSD 3-Clause License (dual-licensed)
Copyright (c) Individual contributors
https://github.com/pyca/cryptography

pip-system-certs
----------------
License: BSD 2-Clause License
Copyright (c) Sean Budd
https://gitlab.com/seanbudd/pip-system-certs

requests-ntlm
-------------
License: ISC License
Copyright (c) 2013 Ben Toews
https://github.com/requests/requests-ntlm

PySide6 (Qt for Python)
-----------------------
License: LGPL-3.0 OR GPL-2.0 OR GPL-3.0 OR Commercial License
Copyright (c) The Qt Company Ltd. 
https://code.qt.io/cgit/pyside/pyside-setup.git/

Note: XPyCode uses PySide6 under the LGPL-3.0 license.  The LGPL allows use 
in proprietary software when dynamically linking to the library.  No 
modifications to PySide6 source code are made. 

qasync
------
License: BSD 2-Clause License
Copyright (c) 2018-2020, CabbageDevelopment and contributors
https://github.com/CabbageDevelopment/qasync

keyring
-------
License: MIT License OR Python Software Foundation License (dual-licensed)
Copyright (c) 2010 Jason R. Coombs
https://github.com/jaraco/keyring

pandas
------
License: BSD 3-Clause License
Copyright (c) 2008-2011, AQR Capital Management, LLC, Lambda Foundry, Inc.  
and PyData Development Team
https://github.com/pandas-dev/pandas

mkdocs
------
License: BSD 2-Clause License
Copyright (c) 2014-present, Tom Christie
https://github.com/mkdocs/mkdocs

Note: MkDocs is used to build the XPyCode documentation site.

mkdocs-material
---------------
License: MIT License
Copyright (c) 2016-present Martin Donath
https://github.com/squidfunk/mkdocs-material

Note: Material theme for MkDocs, provides enhanced documentation UI.

mkdocs-glightbox
----------------
License: MIT License
Copyright (c) 2022 Blueswen
https://github.com/blueswen/mkdocs-glightbox

Note: Lightbox plugin for MkDocs image viewing.

pymdown-extensions
------------------
License: MIT License
Copyright (c) 2014-present Isaac Muse
https://github.com/facelessuser/pymdown-extensions

Note: Markdown extensions for enhanced documentation formatting.

Monaco Editor
-------------
License: MIT License
Copyright (c) Microsoft Corporation
https://github.com/microsoft/monaco-editor

Note: Monaco Editor is embedded in the XPyCode IDE for code editing 
functionality. 

qwebchannel.js
--------------
License: LGPL-3.0-only (chosen from LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only)
Copyright (c) 2016 The Qt Company Ltd.
Copyright (c) 2016 Klarälvdalens Datakonsult AB, a KDAB Group company
Source: https://code.qt.io/cgit/qt/qtwebchannel.git/tree/src/webchannel/qwebchannel.js

Note: qwebchannel.js is embedded unmodified in the XPyCode IDE for Qt WebChannel
communication between Python and JavaScript. Used under LGPL-3.0-only license,
consistent with PySide6 usage. 

================================================================================
                          LICENSE COMPATIBILITY
================================================================================

All dependencies used in XPyCode are compatible with the MIT License with 
Commons Clause: 

- MIT:  Fully compatible, permissive license
- BSD-2-Clause / BSD-3-Clause:  Fully compatible, permissive licenses
- Apache-2.0: Compatible with MIT
- ISC:  Functionally equivalent to MIT, fully compatible
- LGPL-3.0 (PySide6): Compatible for use without modification; LGPL allows 
  proprietary software to use the library when dynamically linked
- PSF-2.0: Python Software Foundation license, compatible with MIT

--------------------------------------------------------------------------------
                        LGPL-3.0 COMPLIANCE (PySide6)
--------------------------------------------------------------------------------

XPyCode uses PySide6 (Qt for Python) under the LGPL-3.0 license. To comply 
with LGPL-3.0: 

1. Dynamic Linking: PySide6 is used as a dynamically linked library (imported 
   as a Python module), which is permitted under LGPL. 

2. No Modifications: XPyCode does not modify PySide6 source code.

3. License Notice: This license file includes proper attribution to PySide6 
   and its license. 

4. Source Availability: PySide6 source code is available at 
   https://code.qt.io/cgit/pyside/pyside-setup.git/

Users have the right to: 
- Obtain the source code of PySide6
- Replace the PySide6 library with a modified version (subject to compatibility)

================================================================================
                         TRANSITIVE DEPENDENCIES
================================================================================

The packages listed above may have their own dependencies. Users should consult 
each package's documentation for a complete list of transitive dependencies and 
their respective licenses.

Key transitive dependencies include but are not limited to: 
- Starlette (MIT) - Used by FastAPI
- Pydantic (MIT) - Used by FastAPI
- httptools (MIT) - Used by uvicorn
- multidict (Apache-2.0) - Used by aiohttp
- yarl (Apache-2.0) - Used by aiohttp
- parso (MIT) - Used by jedi
- docutils (Public Domain/BSD/PSF) - Used by python-lsp-server
- watchdog (Apache-2.0) - Used by mkdocs for live reload
- Jinja2 (BSD-3-Clause) - Used by mkdocs for templating
- MarkupSafe (BSD-3-Clause) - Used by Jinja2
- Markdown (BSD-3-Clause) - Used by mkdocs
- PyYAML (MIT) - Used by mkdocs for configuration
- Pygments (BSD-2-Clause) - Used by pymdown-extensions for syntax highlighting

================================================================================
                               CONTACT
================================================================================

For questions about licensing, please contact BGE Advisory or open an issue 
on the GitHub repository. 