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

FinLab supports Python 3.10 to 3.14. Log in once to store your credentials:

python -m finlab login

In Google Colab, call finlab.login() instead. For servers and CI, see authentication.

Quickstart

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

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.2.12
File
finlab-2.2.12-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
finlab-2.2.12-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
finlab-2.2.12-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
finlab-2.2.12-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details
finlab-2.2.12-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
finlab-2.2.12-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
finlab-2.2.12-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
finlab-2.2.12-cp313-cp313-macosx_10_15_universal2.whl CPython 3.13 CPython 3.13 macOS 10.15+ universal2 (ARM64, x86-64) Details
finlab-2.2.12-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
finlab-2.2.12-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
finlab-2.2.12-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
finlab-2.2.12-cp312-cp312-macosx_10_15_universal2.whl CPython 3.12 CPython 3.12 macOS 10.15+ universal2 (ARM64, x86-64) Details
finlab-2.2.12-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
finlab-2.2.12-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
finlab-2.2.12-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
finlab-2.2.12-cp311-cp311-macosx_10_15_universal2.whl CPython 3.11 CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64) Details
finlab-2.2.12-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
finlab-2.2.12-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
finlab-2.2.12-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
finlab-2.2.12-cp310-cp310-macosx_10_15_universal2.whl CPython 3.10 CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64) Details

Total release size: 104.3 MB

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

Download URL finlab-2.2.12-cp314-cp314-win_amd64.whl
Size 2.4 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
b22a439a5b52ab18292d28a9ab26da184cb1f63804869c7203b77ed9e97fb255
BLAKE2b-256 checksum
How to use checksums
6e06d479f882cd6accea17d3eaf65abb0cbca94b583bfe9f4e80e7fa146d156b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.8 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
85f03f245c5a2725e16fc80ff06e041fdc944318c3cff15940e9e4addc2539d1
BLAKE2b-256 checksum
How to use checksums
076edfff6b10ca3c698ca70b33844f08022127a0103990e0a49a32b5447c7885
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.6 MB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
23a829777a6b10db097f36f53496827d7841342f31cd68838fb44fbc6a618780
BLAKE2b-256 checksum
How to use checksums
9988a3e1cdc74a8d3649b008570fa79fe6f1332095e8476d35ec4bbedf0829ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp314-cp314-macosx_10_15_universal2.whl
Size 3.2 MB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
8726468cc90920533a37ab32678621b4ae06e843e50b30e278f2f105eb787813
BLAKE2b-256 checksum
How to use checksums
c348bec4c5f8612ff693ef7780fc3215f3f909da9ec993b2a0ee4e52d89e0307
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp313-cp313-win_amd64.whl
Size 2.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
e00578bb3e560d5b80928eead5581a5980e872df7d24ab241664187a9db59747
BLAKE2b-256 checksum
How to use checksums
cde8f953a4b387ba60131b95c51e3f324c6b8722b75d2b617d2684326918f0c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.9 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
84bebfd41840faf15994a8c79cf7f807e5c3bfea78030959c83432f26397ab47
BLAKE2b-256 checksum
How to use checksums
a69e7d6f0c988dedad2e97cfb6411dab38f83f05eb8c51b6685cc75e06dc410b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.6 MB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a292ce8ae774dc132a54447c90d28671aca4a2bad1b647942a00ad5ee55f1bcd
BLAKE2b-256 checksum
How to use checksums
f8adfe55f514f3f585bf153a037dd06f7c4e31a04841901e8ba8095293017323
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp313-cp313-macosx_10_15_universal2.whl
Size 3.2 MB
Tags CPython 3.13 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
f837ff4c4ba486932f03d40c5990f849d4e7f3a3eae8f6af30c0060db927f357
BLAKE2b-256 checksum
How to use checksums
3513f117065f8724fee426239c47203f25985e8042328ea337bf548e60fdab17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp312-cp312-win_amd64.whl
Size 2.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
708ecbd553da334bdf43926c4eefd9a75f9441a8d988653dfe37c27bc76ead51
BLAKE2b-256 checksum
How to use checksums
94d85f43f803e763d4b589c339e2e086ff409e22338153fa4cbaa12fbd57b965
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.9 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c7ef0dd10d7d5e794a7b80405f629dcd588394e525480282f34bd04ceacbf2ee
BLAKE2b-256 checksum
How to use checksums
328870b878161e3942f905f4ea865c92873d92c62c1b3c2ce45af79187d043a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.6 MB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
5b3d05174c6dfacf9866cf5459874cb2d75d3197ed8b8d35830d5a8cf5f43066
BLAKE2b-256 checksum
How to use checksums
d34b038d6152fd93c6900d2179d94ce6a3bd156e6294d4709ba4c5c4ae64de00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp312-cp312-macosx_10_15_universal2.whl
Size 3.2 MB
Tags CPython 3.12 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
f23f5dfc586151302d5fb8fdd9ce6ef405dae7b2892f87d41f0653f92a858806
BLAKE2b-256 checksum
How to use checksums
a3d7e74188c42480724a5bdb5f8a994e41270a97753898a4076b9ea539f6982f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp311-cp311-win_amd64.whl
Size 2.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
16e527a662d12150a0eb3cab06b448ed65f06caf977200b2ae1b8745a03d24d8
BLAKE2b-256 checksum
How to use checksums
d2bc7ee8680813a16eb5cd2750c4442a5cd9182906b9fcedf33b1f37436f9173
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.9 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4abfa4a33aa29b2de39e23c5109d20ca701e0ed84857054341505b19c88ffca1
BLAKE2b-256 checksum
How to use checksums
c70735c8dd45382c75dbc191dd3da967148de207bba55284b19f183e3710fd28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.6 MB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
95071d0ea98f9877976354740957051a18bdc02ea685ebcb2b6864cffc1d5cda
BLAKE2b-256 checksum
How to use checksums
d9fe7a7377789de250fd7373efdcd4a683393aa619763256f2178c98f28b9f59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp311-cp311-macosx_10_15_universal2.whl
Size 3.2 MB
Tags CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
cced3683401e12d4cb83bde6b49e61e9f1b8fba05e654b98bb44b3d92b103575
BLAKE2b-256 checksum
How to use checksums
8399700474d213df27ffb74082bc2b7d4e05d0c7a3e9405f5be53acc999f7deb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp310-cp310-win_amd64.whl
Size 2.4 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
9004e3c78c84f9751faba977d9f3510f522455f57fe98af4a25d781386292c1e
BLAKE2b-256 checksum
How to use checksums
4771ce648bd93d8e6c57adcbc0ff2633d3ce7b48f7f4f8e6888d2e4913dd6369
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.4 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
75499f98e2c994079058bdc535fd2d195db3c995b683155f9c3650cff039a5e6
BLAKE2b-256 checksum
How to use checksums
d44ea938b37b7daeee70338c92c170b6ad8558fd527c53a39c7bf6209b84128c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.1 MB
Tags CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3c860b307d619631d54ea6a1c005e334ccd780cd73d0d699a84f171140fc14b0
BLAKE2b-256 checksum
How to use checksums
3a6525dab7cde4b0bb272387b6335bee8a8a5f70542f09684a0ae32fd7ce4bdd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

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

Download URL finlab-2.2.12-cp310-cp310-macosx_10_15_universal2.whl
Size 3.2 MB
Tags CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
d390d4806b3072b6ce4a4067c1a5541fadca554ff431572cc63beabae42c5e9f
BLAKE2b-256 checksum
How to use checksums
c50830ac8fa818caea12ff1532919239c1720717c37036fc330fb3b51adb11a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Security for finlab 2.2.12

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.

Release history Release notifications | RSS feed

This release

2.2.12 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