Skip to main content

FinLab

Backtesting and research toolkit for Taiwan equities, with data and market support for the US, Japan, Korea, and Hong Kong.

PyPI Python License

FinLab gives you market, fundamental, and alternative data through one function, a pandas-based FinLabDataFrame that aligns daily, monthly, and quarterly data automatically, and a Cython backtest engine that produces an interactive report.

Features

  • Data access: data.get() loads prices, financial statements, monthly revenue, institutional flows, and more as a date × symbol table. Browse the catalog at studio.finlab.finance/chat/database.
  • Frequency alignment: quarterly and monthly data are aligned to each company's disclosure date when combined with daily data, so a report is not used before it was published.
  • Backtesting: sim() runs portfolio backtests with rebalancing schedules, transaction costs, stop-loss and take-profit rules, and position limits.
  • Reports: an interactive report with the equity curve, drawdowns, yearly and monthly returns, trades, and risk metrics.
  • Charts: candlesticks with indicators, market treemaps, and fundamental radar charts built on Plotly.
  • Markets: Taiwan stocks and convertible bonds, plus US, Japan, Korea, Hong Kong, and UK equities and funds.
  • Live trading: turn a backtest into orders through supported Taiwan and US brokers.

Installation

pip install finlab
python -m finlab quickstart

These two commands take about a minute: sign in with Google in your browser (the first time creates a free account with a 7-day full trial, no credit card needed), download the data, run a Taiwan stock backtest and open its report. Your strategy is saved as finlab_quickstart.py; change it and run it again. For US stocks, add --market us.

FinLab supports Python 3.10 to 3.14. To log in without running anything, use python -m finlab login. In Google Colab, call finlab.login() instead. For servers and CI, see authentication.

Using Claude Code, Codex, or Cursor? Run python -m finlab skill install so your AI can backtest with FinLab.

Quickstart

Here is the same strategy in Python. Select the 20 companies with the strongest recent revenue growth, keep those trading above their 60-day average, and rebalance monthly:

from finlab import data
from finlab.backtest import sim

close = data.get('price:收盤價')  # daily close
revenue = data.get('monthly_revenue:當月營收')  # monthly revenue

growth = revenue.average(3) / revenue.average(12)
position = growth.is_largest(20) & (close > close.average(60))

report = sim(position, resample='M')
report.display()

Monthly revenue is aligned to its reporting deadline and combined with daily prices automatically. report.display() opens the interactive report in Jupyter; use report.to_html('report.html') elsewhere.

Backtest report with annual return, equity curve against the benchmark, drawdown, and yearly returns

Illustrative in-sample backtest. Past results do not indicate future returns.

The report

The report opens on the performance view. Five scorecards (profit, risk, risk-adjusted return, win rate, liquidity) each check the strategy against a threshold and open their own charts:

Performance: equity curve, drawdown, and returns by year
Performance
Trades: every position with entry, exit, return, MAE and GMFE
Trades
Yearly comparison of strategy and benchmark returns
Strategy vs. benchmark by year
Risk: drawdown history, worst drawdowns, and recovery times
Risk
Risk-adjusted return: rolling Sharpe ratio against the benchmark
Risk-adjusted return
Win rate: distribution of trade returns
Win rate
Liquidity: share of tradable positions by capital size
Liquidity and capacity
Current holdings with unrealized return and weights
Current holdings

Search any stock from the report (⌘K) to open its chart, fundamentals, revenue, institutional flows, and margin data beside the results:

Report with the 2330 stock panel open: candlestick chart, valuation, revenue, institutional flows, and margin trading

Working with data

Each data.get() call returns a FinLabDataFrame: dates as the index, symbols as the columns. Tables of different frequencies combine directly, and FinLab aligns quarterly and monthly values to their publication dates first.

from finlab import data

close = data.get('price:收盤價')  # daily
revenue = data.get('monthly_revenue:當月營收')  # monthly
roe = data.get('fundamental_features:ROE稅後')  # quarterly

uptrend = close > close.average(60)
growing = (revenue.average(3) / revenue.average(12)).rise(3)
quality = roe.rank(axis=1, pct=True) > 0.7

position = uptrend & growing & quality & revenue.average(3).is_largest(100)

print(position.sum(axis=1).tail())  # stocks selected on each of the last five days

Output:

date
2026-09-17    17
2026-09-18    20
2026-09-21    22
2026-09-22    22
2026-09-23    22
dtype: int64

Frequently used methods include average, rise, fall, sustain, is_largest, is_smallest, industry_rank, and hold_until. See the FinLabDataFrame reference.

Backtest options and results

sim() accepts rebalancing frequency, execution price, position limits, exits, and trading costs:

from finlab.backtest import sim

report = sim(
    position,
    resample='W',  # rebalance weekly
    trade_at_price='open',  # execute at the next open
    position_limit=0.1,  # at most 10% per stock
    stop_loss=0.08,
    take_profit=0.3,
    fee_ratio=1.425 / 1000,
    tax_ratio=3 / 1000,
)

stats = report.get_stats()  # CAGR, max drawdown, Sharpe, ...
print({k: round(stats[k], 3) for k in ['cagr', 'max_drawdown', 'daily_sharpe']})

trades = report.get_trades()  # one row per trade
print(trades[['stock_id', 'entry_date', 'exit_date', 'return']].dropna().tail(3))

print(report.next_weights.head(3))  # target weights for the next rebalance

Output (illustrative in-sample backtest):

{'cagr': 0.148, 'max_drawdown': -0.255, 'daily_sharpe': 0.92}
            stock_id entry_date  exit_date    return
trade_index                                         
7980            3231 2026-09-14 2026-09-21  0.028918
7981            5434 2026-09-14 2026-09-21  0.024809
7982            6505 2026-09-14 2026-09-21  0.046099
symbol
2301 光寶科    0.045455
2303 聯電     0.045455
2308 台達電    0.045455
Name: 2026-09-27 00:00:00, dtype: float64

From backtest to orders

Convert the latest target weights into share quantities and place orders through a broker account:

from finlab.online.order_executor import Position, OrderExecutor
from finlab.online.sinopac_account import SinopacAccount

position = Position.from_report(
    report, 1_000_000, odd_lot=True
)  # TWD 1M, odd lots allowed
executor = OrderExecutor(position, account=SinopacAccount())
print(position)  # target lots per stock
executor.create_orders(view_only=True)  # preview before sending

Output, for an account with no current holdings (quantities in lots; 1 lot = 1,000 shares):

symbol stock_id quantity order_condition
  2301     2301    0.175            CASH
  2303     2303    0.312            CASH
  2330     2330     0.02            CASH
  2357     2357    0.052            CASH
  2377     2377    0.326            CASH
   ... (15 more stocks)
BUY         2615       X 0.429      @ 113.5        CASH
BUY         2330       X 0.02       @ 2500.0       CASH
BUY         3034       X 0.09       @ 545.0        CASH
BUY         3037       X 0.045      @ 1160.0       CASH
BUY         3044       X 0.092      @ 543.0        CASH
... (15 more orders)

Supported brokers: SinoPac, Fubon, Masterlink, E.SUN (Fugle), and Pocket for Taiwan; Charles Schwab for the US. Each broker requires its own SDK and credentials; see the order API guide.

Charts

Candlesticks with Bollinger Bands, volume, and KD for any Taiwan stock:

from finlab.plot import plot_tw_stock_candles

plot_tw_stock_candles('2330', recent_days=250)
Candlestick chart of 2330 with Bollinger Bands, volume, and KD

A market treemap sized by market value and colored by return over a period:

from finlab.plot import plot_tw_stock_treemap

plot_tw_stock_treemap(
    start='2026-08-24', end='2026-09-22', area_ind='market_value', item='return_ratio'
)
Treemap of Taiwan stocks grouped by market and industry, sized by market value and colored by return

Fundamental decile ranks for a group of stocks:

from finlab.plot import plot_tw_stock_radar

plot_tw_stock_radar(portfolio=['2330', '2454', '2317'])
Radar chart comparing fundamental decile ranks of 2330, 2454, and 2317

Other markets

Switch the data source with data.set_market() and pass the matching market to sim():

from finlab import data
from finlab.backtest import sim
from finlab.markets.us import USMarket

data.set_market('us')
close = data.get('price:adj_close')

position = close == close.rolling(200).max()  # 200-day high
report = sim(
    position,
    resample='2W',
    position_limit=0.2,
    stop_loss=0.2,
    market=USMarket(),
    fee_ratio=0.001,
    tax_ratio=0,
)

print(close.shape)  # (dates, symbols)
print(position.iloc[-1].sum(), 'stocks at a 200-day high on', position.index[-1].date())

Output:

(2696, 10460)
95 stocks at a 200-day high on 2026-09-22

Market classes are available for Taiwan (TWMarket), US (USMarket), Japan (JPMarket), Korea (KRMarket), Hong Kong (HKMarket), and the UK (UKMarket), with fund variants for ETFs.

Documentation

Support

Ask questions and report problems in the FinLab Discord.

License

GPL-3.0-or-later. See LICENSE.

Disclaimer

FinLab is software for research and education. Nothing in this package or its documentation is investment advice. Backtest results depend on data quality and modeling assumptions and do not predict future performance. You are responsible for your own trading decisions.

Metadata

Release files for finlab 2.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for finlab 2.3.1
File Actions
finlab-2.3.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for finlab-2.3.1-cp314-cp314-win_amd64.whl
finlab-2.3.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for finlab-2.3.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
finlab-2.3.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details for finlab-2.3.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
finlab-2.3.1-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details for finlab-2.3.1-cp314-cp314-macosx_10_15_universal2.whl
finlab-2.3.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for finlab-2.3.1-cp313-cp313-win_amd64.whl
finlab-2.3.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for finlab-2.3.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
finlab-2.3.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details for finlab-2.3.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
finlab-2.3.1-cp313-cp313-macosx_10_15_universal2.whl CPython 3.13 CPython 3.13 macOS 10.15+ universal2 (ARM64, x86-64) Details for finlab-2.3.1-cp313-cp313-macosx_10_15_universal2.whl
finlab-2.3.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for finlab-2.3.1-cp312-cp312-win_amd64.whl
finlab-2.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for finlab-2.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
finlab-2.3.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for finlab-2.3.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
finlab-2.3.1-cp312-cp312-macosx_10_15_universal2.whl CPython 3.12 CPython 3.12 macOS 10.15+ universal2 (ARM64, x86-64) Details for finlab-2.3.1-cp312-cp312-macosx_10_15_universal2.whl
finlab-2.3.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for finlab-2.3.1-cp311-cp311-win_amd64.whl
finlab-2.3.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for finlab-2.3.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
finlab-2.3.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for finlab-2.3.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
finlab-2.3.1-cp311-cp311-macosx_10_15_universal2.whl CPython 3.11 CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64) Details for finlab-2.3.1-cp311-cp311-macosx_10_15_universal2.whl
finlab-2.3.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for finlab-2.3.1-cp310-cp310-win_amd64.whl
finlab-2.3.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for finlab-2.3.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
finlab-2.3.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details for finlab-2.3.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
finlab-2.3.1-cp310-cp310-macosx_10_15_universal2.whl CPython 3.10 CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64) Details for finlab-2.3.1-cp310-cp310-macosx_10_15_universal2.whl

Total release size: 140.0 MB

Release files / finlab-2.3.1-cp314-cp314-win_amd64.whl

Download URL finlab-2.3.1-cp314-cp314-win_amd64.whl
Size 3.0 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
2871287e5cccc9327841815a52ec880a0cde25b6ec362e21c4fa1a4e35efd21a
BLAKE2b-256 checksum
How to use checksums
977b10856ee3ecbfb0da2a682d097e569ded932deb225779e2578008f62949a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL finlab-2.3.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 10.6 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8c885de8c01b85795e47841f94e9a432692e29ba8a7e63fc65cf02cef9fb1592
BLAKE2b-256 checksum
How to use checksums
8e372d64c5845537ed82e2ddf3c3bc844a02fb65b4d577e5399cd53b9d008795
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL finlab-2.3.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 10.3 MB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c12e2f28f45b5c11b32442af71bc0551c78625ae990f4cf1e59fd9627a31d858
BLAKE2b-256 checksum
How to use checksums
b31bcaab94ee6d029539de95809651b02667e3b3c7e11368a0cb966427599eb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp314-cp314-macosx_10_15_universal2.whl

Download URL finlab-2.3.1-cp314-cp314-macosx_10_15_universal2.whl
Size 4.2 MB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
90d726cc86b9caf998236fe076768bfc66dff7ea44cba6492406e66aa081589e
BLAKE2b-256 checksum
How to use checksums
776988d6227e93306e1763f4ca8cda91bd405fccc43578a63d24655065ac136f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp313-cp313-win_amd64.whl

Download URL finlab-2.3.1-cp313-cp313-win_amd64.whl
Size 3.0 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
5e458e4329b4d09aeee21430f45494a69c2dab944be034ca57025ad57c9706a1
BLAKE2b-256 checksum
How to use checksums
89156d17a69fb88e70290cc1a01bdf3130ce32b6648b8f2076a337124425db31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL finlab-2.3.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 10.7 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
98b095f9a0e6fc6e81d67912950d0c6ccbff1c7dbd2b0453d9aef4083dd9d9b2
BLAKE2b-256 checksum
How to use checksums
434123ec2ec08d9011f58f096771d885274c2491d9412566467c097d092241e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL finlab-2.3.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 10.3 MB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
68d9c52150ddb7169320b833703fd99299daeca8202b89041d0428644f95b28a
BLAKE2b-256 checksum
How to use checksums
c8204f94ee70e3aee94e098366115f58ca27564860374046911c0e2945a0f083
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp313-cp313-macosx_10_15_universal2.whl

Download URL finlab-2.3.1-cp313-cp313-macosx_10_15_universal2.whl
Size 4.2 MB
Tags CPython 3.13 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
d6a420ac6676b2a654682b61e2faf21ea5d1d2b0191bf861d705ec1c61ef0cab
BLAKE2b-256 checksum
How to use checksums
4317cceb729389ea1720a8252073cafcd451fe17c65b9585e79c5ce6269b8665
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp312-cp312-win_amd64.whl

Download URL finlab-2.3.1-cp312-cp312-win_amd64.whl
Size 3.0 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
a5f652dd01ae4acbdcf1b9d2b01c00f8a6e07e84f5f117e9249378592484e895
BLAKE2b-256 checksum
How to use checksums
99cc0b6dcbde1064ebdefd7bbee6bcc95fdbb478a827688f0a97692504cf439f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL finlab-2.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 10.7 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
96a1c6edfb1b78ad525a48594acd33ee252b7eec1e099b85ed737a625fabc8ae
BLAKE2b-256 checksum
How to use checksums
8064225fd769b30de32d4cd16c921f8234d772baa7c8ce0c68fe13cb3ac1eb9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL finlab-2.3.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 10.3 MB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d8b47825efed29eec82f289b2658e1d8bf3dc67e154b9ee36e35d126478c0502
BLAKE2b-256 checksum
How to use checksums
dba2f7cbdefd85506c066f7e3823b8bbb4bb93fe31d894b1b3dc06bc2a34666b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp312-cp312-macosx_10_15_universal2.whl

Download URL finlab-2.3.1-cp312-cp312-macosx_10_15_universal2.whl
Size 4.3 MB
Tags CPython 3.12 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
eec67484ed39903785750e1e5c732e14844d32a06b94ed65cf51e3679cef9439
BLAKE2b-256 checksum
How to use checksums
6f78a9ee2d9d926a7893497e4b5fc1f6a5ad684825c1267c3179b9343da7b0cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp311-cp311-win_amd64.whl

Download URL finlab-2.3.1-cp311-cp311-win_amd64.whl
Size 3.0 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
af95db7ef85ef049a28a8cb6ddafced953d20bc4ab3c26eaf899df92ccaaa84f
BLAKE2b-256 checksum
How to use checksums
32fe3e4b4298938dfca5d37bc9d54bff734f8ad44bad18816cb054390c0fbc34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL finlab-2.3.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 10.7 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7406da2f946f4e7efcbb617d6cc307da082703b1cc58fa88f1fe6765f0740bf8
BLAKE2b-256 checksum
How to use checksums
40824b9125c3f10bf6c382dadd2326bc01d8bb31495a83fa27c57df56060de47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL finlab-2.3.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 10.4 MB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
092870fd7142b11daab48214a4922390565b04b1828ad42c8d67cc106bfeedbf
BLAKE2b-256 checksum
How to use checksums
394f85861cf0c4bac7303d49c3369492b5bc33215d482191120623d19750d528
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp311-cp311-macosx_10_15_universal2.whl

Download URL finlab-2.3.1-cp311-cp311-macosx_10_15_universal2.whl
Size 4.2 MB
Tags CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
b6e2631fbdb96a3d5e0a89c378f2763953e2531fddfd9ce23fe2f25b8b242504
BLAKE2b-256 checksum
How to use checksums
28657a1948c163ea3614e76843ac01e91dee5a37074dd10292572bd36a6a08a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp310-cp310-win_amd64.whl

Download URL finlab-2.3.1-cp310-cp310-win_amd64.whl
Size 3.0 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
ee7781d348d80b833701424cdddf93275172d568a52778bc8f3fb310ac7bc0d3
BLAKE2b-256 checksum
How to use checksums
5dbdaff701e5a627419b2ed8d03c75a224547ecfeabed8a70c94c41ae7bbb3e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL finlab-2.3.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 10.1 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
51cf6cc8148c3bf8cbe3b7c81cedf246e16cb59daf7bd62f40baae37efc36b00
BLAKE2b-256 checksum
How to use checksums
6a428e164eaaa5e20fc75aa3db8ddd2fcedf2712b45dba445399892e30c82e0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL finlab-2.3.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 9.7 MB
Tags CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b0bb3763e6f511e86e2b4c7a4337b101f3ed85d76f5b5f99d0967e4a61e6fae7
BLAKE2b-256 checksum
How to use checksums
d7e473e01f501414826880af1cf84fb7ae57a204d0706ae3a14a13532b3bb94e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / finlab-2.3.1-cp310-cp310-macosx_10_15_universal2.whl

Download URL finlab-2.3.1-cp310-cp310-macosx_10_15_universal2.whl
Size 4.2 MB
Tags CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
1ab9627dc0638b1fc2df8b94ef3495c9475394744820681601b10adebac9bd70
BLAKE2b-256 checksum
How to use checksums
10686a0d2f81bd8d756623390f8e4e20e5d3c28ba0667894d28b882caf12824d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Security for finlab 2.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.3.1 This release

20 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page