Skip to main content

FOLIO User Bulk Edit

Initiates, monitors, and reports on bulk user operations in FOLIO. Not to be confused with the very limited user capabilities of bulk edit.

Installation

User Bulk Edit is available on PyPi. It can be installed using:

pip install folio-user-bulk-edit

Additionally if you wish to only use the cli you can install it using pipx:

pipx install folio-user-bulk-edit

Check out the CHANGELOG for what's new!

Usage

As a cli tool

The executable to run the tool is ube. If you installed using pip or pipx it should be on your path and executable.

You can also run the cli without installing using pipx:

pipx run --spec folio-user-bulk-edit ube

By default a ./logs directory will be created to store more verbose logging information that is output to the console. This location is controlled by using the --log-directory parameter.

Many parameters can be specified using environment variables. The general format is UBE__SECTION_NAME__VARIABLE_NAME. Run ube --help for a full list of options and the corresponding environment variables.

The User Bulk Edit has two modes which take the same core parameters.

ube check <data>

This command will ensure the connection to FOLIO is ok and report any issues with the data. Check makes no changes to FOLIO or your local file system and is ok to run repeatedly. It is using the Pandera library, consult the documentation for more information on interpreting the check.

Check is a "best effort" check. Data with check errors may still import into FOLIO fine, and data without check errors may still encounter issues during import.

ube import <data>

This command will import the user data file through the mod-user-import endpoint. The data will be batched and as much of it will be imported as possible. The user-mod-import endpoint returns information about users imported, this information is summarized and reported after running. The full list of errored users and causes can be found in the log directory as a csv.

As a library

If you are programatically calling ube you can use it as a python library by doing the following:

from pathlib import Path
from folio_bulk_user_edit.commands import check, user_import

check_results = check.run(check.CheckOptions(
    folio_url="...",
    folio_tenant="...",
    folio_username="...",
    folio_password="...",
    data_location=Path("to" / "file.csv"),
))

if check_results.folio_ok and check_results.schema_ok and check_results.read_ok:
    import_results = user_import.run(check.ImportOptions(
        folio_url="...",
        folio_tenant="...",
        folio_username="...",
        folio_password="...",
        data_location=Path("to" / "file.csv"),
        batch_size=1000,
        retry_count=1,
        deactivate_missing_users=False,
        update_all_fields=False,
    ))

There are some utility subpackages in the root package that might also be useful. Especially the schemas.

Contributing

See CONTRIBUTING.

Metadata

Release files for folio-user-bulk-edit 1.0.0

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

Source distribution (sdist)

Source distribution for folio-user-bulk-edit 1.0.0
File Size Uploaded
folio_user_bulk_edit-1.0.0.tar.gz 24.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for folio-user-bulk-edit 1.0.0
File Interpreter ABI Platform
folio_user_bulk_edit-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 43.8 kB

Release files / folio_user_bulk_edit-1.0.0.tar.gz

Download URL folio_user_bulk_edit-1.0.0.tar.gz
Size 24.8 kB
Tags Source
SHA-256 checksum
How to use checksums
18eb2ac29032380dbeae4807854e1abb64a93b7ddd53f552c283bad0447f0a40
BLAKE2b-256 checksum
How to use checksums
450d9e4642c6a24c64025989015923b8291d3b25eade84689c8ca1a481546765
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 23, 2025.

Transparency log

Release files / folio_user_bulk_edit-1.0.0-py3-none-any.whl

Download URL folio_user_bulk_edit-1.0.0-py3-none-any.whl
Size 19.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
930edaa503476f74f728638ddce822746a8b9683187f7f4d3440f3698748bc31
BLAKE2b-256 checksum
How to use checksums
15d5010b90a07fd0d12df918ab2f39d68975cb859bbf62d1f49887579da3bee6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 23, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

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