Metadata-Version: 2.4
Name: fcp7xml-to-unreal
Version: 0.2.0
Summary: Filter FCP XML files for import into Unreal Engine.
Project-URL: Homepage, https://nick-animation-studio.github.io/fcp7xml-to-unreal/
Project-URL: Repository, https://github.com/nick-animation-studio/fcp7xml-to-unreal.git
Project-URL: Issues, https://github.com/nick-animation-studio/fcp7xml-to-unreal
Project-URL: Changelog, https://github.com/nick-animation-studio/fcp7xml-to-unreal/blob/main/CHANGELOG.md
Author-email: Chris Perry <christopher.perry@nick.com>, Grant Bowlds <grant.bowlds@nick.com>, Jason MacLeod <jason.macleod@nick.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Framework :: Hatch
Classifier: Framework :: Pytest
Classifier: Intended Audience :: End Users/Desktop
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Artistic Software
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Utilities
Requires-Python: >=3.9
Requires-Dist: python-dotenv>=1.2.1
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: tqdm>=4.66.4
Provides-Extra: dev
Requires-Dist: bandit>=1.8.0; extra == 'dev'
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pre-commit>=3.5.0; extra == 'dev'
Requires-Dist: pylint>=3.0.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest-html>=4.0.0; extra == 'dev'
Requires-Dist: pytest-mock>=3.10.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Requires-Dist: safety>=3.2.9; extra == 'dev'
Provides-Extra: docs
Requires-Dist: genbadge[all]>=1.0.0; extra == 'docs'
Requires-Dist: mkdocs>=1.6.0; extra == 'docs'
Description-Content-Type: text/markdown

<p align="center">
  <img width="300" src="./docs/images/logo.png?raw=true" alt="icon"/>
</p>
<h1 align="center">FCP7XML to Unreal</h1>
<br></br>

[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/fcp7xml-to-unreal)](https://pypi.org/project/fcp7xml-to-unreal/)
 [![Build Status](https://github.com/nick-animation-studio/fcp7xml-to-unreal/actions/workflows/python-package.yml/badge.svg)](https://github.com/nick-animation-studio/fcp7xml-to-unreal/actions/workflows/python-package.yml)
[![Documentation](https://img.shields.io/badge/doc-latest-blue.svg)](https://nick-animation-studio.github.io/fcp7xml-to-unreal/) [![PyPI - Version](https://img.shields.io/pypi/v/fcp7xml-to-unreal)](https://pypi.org/project/fcp7xml-to-unreal/)

[![GitHub License](https://img.shields.io/github/license/nick-animation-studio/fcp7xml-to-unreal)](https://github.com/nick-animation-studio/fcp7xml-to-unreal/blob/main/LICENSE)
[![Tests Status](https://nick-animation-studio.github.io/fcp7xml-to-unreal/reports/junit/tests-badge.svg)](https://nick-animation-studio.github.io/fcp7xml-to-unreal/reports/junit/report.html) [![Coverage Status](https://nick-animation-studio.github.io/fcp7xml-to-unreal/reports/coverage/coverage-badge.svg)](https://nick-animation-studio.github.io/fcp7xml-to-unreal/reports/coverage/index.html)

`fcp7xml-to-unreal` is a utility for filtering FCP XML (FCP 7 XML v5) editorial output for import into Unreal Engine.

Edit shots rendered from Unreal Engine in your preferred editing software and import the edits back into Unreal Engine, without crashing. **Only FCP 7 XML v5 is supported.**

**This is the readme for developers.** The documentation for users is available here: [https://nick-animation-studio.github.io/fcp7xml-to-unreal/](https://nick-animation-studio.github.io/fcp7xml-to-unreal/)

## Prerequisites

You will need [Python](https://www.python.org/) installed. Tested with Python 3.9, expected to work with Python 3.9+.

## Quickstart

Install using [pip](https://pypi.org/project/pip/) or [pipx](https://pipx.pypa.io/stable/).

```bash
$ pip install fcp7xml-to-unreal
```

or

```bash
$ pipx install fcp7xml-to-unreal
```

This will provide the command-line utilities:

- `fcp7xml-to-unreal` - an XML filtering utility, fixing XML (**FCP 7 XML v5 format only**) exports for import into Unreal Engine.

See the [user documentation](https://nick-animation-studio.github.io/fcp7xml-to-unreal/) for examples.

## Developer Setup

Clone this repository (or fork on GitHub).

In the local repository directory, set up for Python development. The steps below show [Astral's uv](https://docs.astral.sh/uv/) in use - but using Python [venv](https://docs.python.org/3/library/venv.html) is also fine.

```bash
# Create and activate Python virtual environment
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install development dependencies with the project set as editable
uv pip install -e ".[dev]"

or (not using uv)

python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate

# update pip in venv
python -m pip install -U pip

# install
python -m pip install .
python -m pip install ".[dev]" # install with optional development packages

# Install Git pre-commit hooks
pre-commit install
```

## Contributing

Contributions to improve this utility are welcome! Please submit [issues](https://github.com/nick-animation-studio/fcp7xml-to-unreal/issues) and [pull requests](https://github.com/nick-animation-studio/fcp7xml-to-unreal/pulls) on GitHub.

### Tests

See [TESTS.md](./TESTS.md) for details on running this product's tests.

## License

This code is MIT licensed. See the [LICENSE](LICENSE) file for details.

## References

- [FCP7 XML Reference](<https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/FinalCutPro_XML/VersionsoftheInterchangeFormat/VersionsoftheInterchangeFormat.html>)
