Metadata-Version: 2.4
Name: fmcore
Version: 0.1.6.dev35
Summary: A specialized toolkit for scaling experimental research with Foundation Models.
Author-email: Abhishek Divekar <adivekar@utexas.edu>, Siba Rajendran <rsiba234@gmail.com>
License-File: LICENSE
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.11
Requires-Dist: aioboto3==14.1.0
Requires-Dist: aiolimiter==1.2.1
Requires-Dist: asteval==1.0.6
Requires-Dist: autoenum
Requires-Dist: bears==0.1.*
Requires-Dist: dspy==2.6.11
Requires-Dist: glom==24.11.0
Requires-Dist: jinja2==3.1.6
Requires-Dist: json-repair==0.40.0
Requires-Dist: langchain-aws==0.2.*
Requires-Dist: langchain-community==0.3.20
Requires-Dist: langchain==0.3.*
Requires-Dist: pyyaml==6.*
Requires-Dist: requests
Requires-Dist: urllib3
Provides-Extra: all
Requires-Dist: accelerate; extra == 'all'
Requires-Dist: aim==3.*; extra == 'all'
Requires-Dist: altair; extra == 'all'
Requires-Dist: bears[all]; extra == 'all'
Requires-Dist: bitsandbytes; extra == 'all'
Requires-Dist: bokeh; extra == 'all'
Requires-Dist: brotli; extra == 'all'
Requires-Dist: dask; extra == 'all'
Requires-Dist: dask[complete]; extra == 'all'
Requires-Dist: datasets; extra == 'all'
Requires-Dist: deepspeed; extra == 'all'
Requires-Dist: einops; extra == 'all'
Requires-Dist: evaluate; extra == 'all'
Requires-Dist: faiss-cpu; extra == 'all'
Requires-Dist: gpustat; extra == 'all'
Requires-Dist: holoviews; extra == 'all'
Requires-Dist: hvplot>=0.10.0; extra == 'all'
Requires-Dist: imageio; extra == 'all'
Requires-Dist: matplotlib; extra == 'all'
Requires-Dist: mauve-text; extra == 'all'
Requires-Dist: nltk; extra == 'all'
Requires-Dist: nvitop; extra == 'all'
Requires-Dist: orjson; extra == 'all'
Requires-Dist: plotly; extra == 'all'
Requires-Dist: plotly-express; extra == 'all'
Requires-Dist: pytest; extra == 'all'
Requires-Dist: ray; extra == 'all'
Requires-Dist: ray[default]; extra == 'all'
Requires-Dist: ray[serve]; extra == 'all'
Requires-Dist: ray[tune]; extra == 'all'
Requires-Dist: safetensors; extra == 'all'
Requires-Dist: seaborn; extra == 'all'
Requires-Dist: sentence-transformers; extra == 'all'
Requires-Dist: sentencepiece; extra == 'all'
Requires-Dist: tensorboard; extra == 'all'
Requires-Dist: tiktoken; extra == 'all'
Requires-Dist: tokenizers; extra == 'all'
Requires-Dist: torch; extra == 'all'
Requires-Dist: transformers>=4.42.4; extra == 'all'
Requires-Dist: wandb; extra == 'all'
Description-Content-Type: text/markdown

![F M Core logo](img/logos/aws-like-wide-gradient.png)

`fmcore` is a specialized toolkit that empowers AI scientists to break new ground by simplifying large-scale experimentation with massive Foundation Models and datasets.

A primary bottleneck in Foundation Model research is implementation overhead. With `fmcore`, scientists can rapidly prototype new innovations in hours instead of weeks, accelerating the path to new research breakthroughs or user experiences.

Key features:
- Easy scaling of model training and inference (see examples).
- Standardized interfaces for parameter tuning and evaluation.
- Built-in support for distributed computing and Foundation Model parallelism.

## Installation

The minimal `fmcore` package can be installed from PyPI:

```
pip install fmcore 
```

To get all features, we recommend installing in a new Conda environment:

```commandline
conda create -n fmcore python=3.11 --yes
conda activate fmcore
pip install uv
uv pip install "fmcore[all]"
```

## License

This project is licensed under the Apache-2.0 License.

## Contributing to `fmcore`

See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.
