mirror of
https://github.com/microsoft/qlib.git
synced 2026-11-13 14:31:16 +08:00
* security: constrain config-driven code execution * fix: address security test and lint failures * ci: restore dependency and title lint compatibility * ci: handle current MLflow and Windows OSQP changes * ci: use lxml release with cross-platform wheels * fix: defer optional CVXPY solver imports * style: document intentional lazy import * ci: skip broken released OSQP on Windows Python 3.8 * test: make MLflow client timing check robust * ci: retry nondeterministic benchmark smoke test * fix: cap filelock before fork safety regression * fix: use filelock release compatible with multiprocessing * fix(security): restrict operator lookup and validate trusted roots * fix(security): preserve numeric expressions and legacy model imports * fix: preserve TRA initialization and document config migration Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: preserve safe expression syntax and cache semantics Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: use explicit scoped trust for file modules Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: satisfy CI lint without weakening trust checks Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: handle escaped file paths in module refusal errors Match the repr-formatted module path in refusal messages and cover Windows, UNC, quoted, and newline-containing paths on every platform. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: preserve expression parser error logging Log ExpressionSyntaxError with its field and traceback before re-raising, while preserving custom operator NameError and SyntaxError handling. Add five regression cases covering logging, exception identity, and failed cache entries. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: isolate expression logger capture Capture parser logs directly on qlib.data without propagating to parent and root capture handlers. Restore logger state with monkeypatch and retain exact single-record, traceback, and exception-identity assertions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(security): preserve malformed feature boundaries and reject unsupported literals * test(security): cover malformed dollar-prefixed expressions --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Yang Liu <DG-git-dev@users.noreply.github.com>
67 lines
2.1 KiB
ReStructuredText
67 lines
2.1 KiB
ReStructuredText
.. _installation:
|
|
|
|
============
|
|
Installation
|
|
============
|
|
|
|
.. currentmodule:: qlib
|
|
|
|
.. important::
|
|
|
|
Upgrading an existing workflow? Read :ref:`config_migration` before using
|
|
local Python modules, custom expressions, or extension registries. The guide
|
|
describes unreleased source changes; a PR checkout, ``main``, and a tagged
|
|
or PyPI release can differ. Use examples and documentation matching your
|
|
installed revision.
|
|
|
|
|
|
.. important::
|
|
|
|
**Unreleased upgrade notice for new source builds:** recorder artifact loading
|
|
is restricted by default. Reloading executable models, datasets or workflow
|
|
objects requires explicit ``trusted=True`` after verifying their source and
|
|
storage; supported data-only reads and fresh in-memory training need no opt-in.
|
|
Follow :ref:`artifact_loading_migration` before upgrading existing workflows.
|
|
Merging into ``main`` affects source installs before a new PyPI release.
|
|
This change is unreleased until included in a tagged release, whose upgrade
|
|
notes should link to that guide.
|
|
|
|
|
|
``Qlib`` Installation
|
|
=====================
|
|
.. note::
|
|
|
|
`Qlib` supports both `Windows` and `Linux`. It's recommended to use `Qlib` in `Linux`. ``Qlib`` supports Python3, which is up to Python3.8.
|
|
|
|
Users can easily install ``Qlib`` by pip according to the following command:
|
|
|
|
.. code-block:: bash
|
|
|
|
pip install pyqlib
|
|
|
|
|
|
Also, Users can install ``Qlib`` by the source code according to the following steps:
|
|
|
|
- Enter the root directory of ``Qlib``, in which the file ``setup.py`` exists.
|
|
- Then, please execute the following command to install the environment dependencies and install ``Qlib``:
|
|
|
|
.. code-block:: bash
|
|
|
|
$ pip install numpy
|
|
$ pip install --upgrade cython
|
|
$ git clone https://github.com/microsoft/qlib.git && cd qlib
|
|
$ python setup.py install
|
|
|
|
.. note::
|
|
It's recommended to use anaconda/miniconda to setup the environment. ``Qlib`` needs lightgbm and pytorch packages, use pip to install them.
|
|
|
|
|
|
|
|
Use the following code to make sure the installation successful:
|
|
|
|
.. code-block:: python
|
|
|
|
>>> import qlib
|
|
>>> qlib.__version__
|
|
<LATEST VERSION>
|