semvec/pypi-packages huggingface dataset:
st-dataframe-paginator-ayumu-yamaguchi 0.0.1
Dataframe paginator for Streamlit
Requires Python: >=3.6

# 📄 Streamlit DataFrame Paginator

A lightweight Streamlit component that displays a **paginated table** for large DataFrames.  
This helps keep your Streamlit apps responsive by showing the data in manageable pages.

---

## ✨ Features

- 🔢 **Pagination**: Displays data with page navigation, improving usability for large DataFrames.
- 🌍 **Multilingual Support**: You can fully customize all pagination labels to any language, including Japanese. For example:

    ```python
    # Japanese
    labels = {
        "first": "最初",
        "prev": "前へ",
        "next": "次へ",
        "last": "最後",
        "displayed_record": "表示行数:"
    }
    # English
    labels={
        "first": "First",
        "prev": "Previous",
        "next": "Next",
        "last": "Last",
    }
    ```

- 📊 **Column Sorting**: Users can click on any column header to sort the table by that column, toggling between ascending and descending order.
- ↔️ **Horizontal Scrolling**: If the DataFrame contains many columns, horizontal scrolling is enabled, so you can easily view all data without layout issues.

---
## Installation
```bash
pip install streamlit_dataframe_paginator
```
## Usage
```python
import streamlit as st
from streamlit_dataframe_paginator import st_dataframe_paginator
import pandas as pd

# Example DataFrame
df = pd.DataFrame({
    "Name": ["Alice", "Bob", "Charlie", "David", "Eve", "Frank", "Grace", "Hank"],
    "Score": [85, 92, 88, 70, 95, 60, 75, 90]
})

# Use the paginator
st_dataframe_paginator(
    df,
    page_size=3,
    page_size_options=[3, 5, 10],
    labels={
        "first": "⏮️ First",
        "prev": "◀️ Previous",
        "next": "Next ▶️",
        "last": "Last ⏭️",
    }
)
```

## Parameters
| Parameter           | Type        | Default        | Description                                 |
|---------------------|-------------|----------------|---------------------------------------------|
| `data`                | DataFrame   | Required       | The DataFrame to paginate                   |
| `page_size`         | int         | `10`           | Number of rows per page                     |
| `page_size_options` | list[int]   | `[10, 20, 50]` | Dropdown options for page size              |
| `labels`            | dict        | Optional       | Custom labels for navigation buttons        |


## Screenshot

![sample](./images/sample.gif)
graphlibx 3.5.12
Python package for creating and manipulating graphs and networks
Requires Python: >=3.0
Keywords: Networks, Graph Theory, Mathematics, network, graph, discrete mathematics, math

graphlibx
=========

.. image:: https://img.shields.io/pypi/v/graphlibx.svg
   :target: https://pypi.org/project/graphlibx/

.. image:: https://img.shields.io/pypi/l/graphlibx.svg
   :target: https://github.com/taylortech75/graphlibx/blob/main/LICENSE.txt

.. image:: https://img.shields.io/pypi/pyversions/graphlibx.svg
   :target: https://pypi.org/project/graphlibx/

.. image:: https://img.shields.io/github/labels/taylortech75/graphlibx/good%20first%20issue?color=green&label=contribute
   :target: https://github.com/taylortech75/graphlibx/contribute

**graphlibx** is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.

Resources
---------

- **Website (including documentation):** https://networkx.org
- **Mailing list:** https://groups.google.com/forum/#!forum/networkx-discuss
- **Source:** https://github.com/taylortech75/graphlibx
- **Bug reports:** https://github.com/taylortech75/graphlibx/issues
- **Report a security vulnerability:** https://tidelift.com/security
- **Tutorial:** https://networkx.org/documentation/latest/tutorial.html
- **GitHub Discussions:** https://github.com/taylortech75/graphlibx/discussions
- **Discord (Scientific Python):** https://discord.com/invite/vur45CbwMz

Simple Example
--------------

Find the shortest path between two nodes in an undirected graph:

.. code:: pycon

    >>> import graphlibx as nx
    >>> G = nx.Graph()
    >>> G.add_edge("A", "B", weight=4)
    >>> G.add_edge("B", "D", weight=2)
    >>> G.add_edge("A", "C", weight=3)
    >>> G.add_edge("C", "D", weight=4)
    >>> nx.shortest_path(G, "A", "D", weight="weight")
    ['A', 'B', 'D']

Install
-------

Install the latest released version of graphlibx:

.. code:: shell

    pip install graphlibx

Install with all optional dependencies:

.. code:: shell

    pip install graphlibx[default]

For additional details, please see the `installation guide <https://networkx.org/documentation/stable/install.html>`_.

Bugs
----

Please report any bugs `here <https://github.com/taylortech75/graphlibx/issues>`_.
Even better, fork the repository on `GitHub <https://github.com/taylortech75/graphlibx>`_ and create a pull request (PR).

We welcome all contributions, big or small, and we will help you make the PR if you're new to `git`.
Just ask on the issue and/or see the `contributor guide <https://networkx.org/documentation/latest/developer/contribute.html>`_.

License
-------

Released under the `3-clause BSD license <https://github.com/taylortech75/graphlibx/blob/main/LICENSE.txt>`_::

    Copyright (c) 2004–2025, graphlibx Developers
    Tomas Olson <tomasolson42@gmail.com>