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
orjson                  Apache-2.0 OR MIT               github.com/ijl/orjson
unearth                 MIT                             github.com/frostming/unearth
pywin32                 PSF-2.0 (BSD-style)             github.com/mhammond/pywin32
polars                  MIT                             github.com/pola-rs/polars
Python (runtime)        PSF-2.0                         python.org

--------------------------------------------------------------------------------
                         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.

orjson
------
License: Apache License 2.0 OR MIT License (dual-licensed)
Copyright (c) 2018 ijl
https://github.com/ijl/orjson

Note: orjson provides fast JSON serialization, used as an optional
performance enhancement in the Python kernel and business layer.

unearth
-------
License: MIT License
Copyright (c) 2022 Frost Ming
https://github.com/frostming/unearth

Note: unearth provides enhanced package discovery from PyPI and custom
package indexes, used as a fallback in the package index client.

pywin32
-------
License: PSF-2.0 (BSD-style permissive license)
Copyright (c) 1994-2024 Mark Hammond and contributors
https://github.com/mhammond/pywin32

Note: pywin32 provides Python extensions for Windows APIs, used for Windows
service management and COM integration. Only installed on Windows
(sys_platform == 'win32').

polars
------
License: MIT License
Copyright (c) 2020 Ritchie Vink
https://github.com/pola-rs/polars

Note: polars is an optional dependency providing high-performance DataFrame
operations. Users can install it with `pip install polars` for polars
DataFrame/Series support in XPyCode's Excel integration.

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. 

================================================================================
                     PYTHON RUNTIME (BUNDLED)
================================================================================

This installer downloads and installs Python 3.13.2 (embeddable package) from
python.org. Python is distributed under the PSF License Agreement.

Python
------
License: Python Software Foundation License Version 2
Copyright (c) 2001-2025 Python Software Foundation. All rights reserved.
Copyright (c) 2000 BeOpen.com. All rights reserved.
Copyright (c) 1995-2001 Corporation for National Research Initiatives.
              All rights reserved.
Copyright (c) 1991-1995 Stichting Mathematisch Centrum. All rights reserved.
https://www.python.org

Python is a registered trademark of the Python Software Foundation.

PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
---------------------------------------------

1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"),
   and the Individual or Organization ("Licensee") accessing and otherwise
   using this software ("Python") in source or binary form and its associated
   documentation.

2. Subject to the terms and conditions of this License Agreement, PSF hereby
   grants Licensee a nonexclusive, royalty-free, world-wide license to
   reproduce, analyze, test, perform and/or display publicly, prepare
   derivative works, distribute, and otherwise use Python alone or in any
   derivative version, provided, however, that PSF's License Agreement and
   PSF's notice of copyright, i.e., "Copyright (c) 2001-2025 Python Software
   Foundation; All Rights Reserved" are retained in Python alone or in any
   derivative version prepared by Licensee.

3. In the event Licensee prepares a derivative work that is based on or
   incorporates Python or any part thereof, and wants to make the derivative
   work available to others as provided herein, then Licensee hereby agrees
   to include in any such work a brief summary of the changes made to Python.

4. PSF is making Python available to Licensee on an "AS IS" basis. PSF MAKES
   NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE,
   BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR
   WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT
   THE USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.

5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY
   INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF
   MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE
   THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.

6. This License Agreement will automatically terminate upon a material breach
   of its terms and conditions.

7. Nothing in this License Agreement shall be deemed to create any
   relationship of agency, partnership, or joint venture between PSF and
   Licensee. This License Agreement does not grant permission to use PSF
   trademarks or trade name in a trademark sense to endorse or promote
   products or services of Licensee, or any third party.

8. By copying, installing or otherwise using Python, Licensee agrees to be
   bound by the terms and conditions of this License Agreement.

Note: XPyCode does not modify the Python runtime. The embeddable Python
package is downloaded from python.org and installed as-is.

================================================================================
                          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
- orjson (Apache-2.0/MIT) - Fast JSON serialization

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

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