Skip to main content

tungsten-filament

Move a Laravel Filament admin to Tungsten, the Filament-style admin for Python and FastAPI.

pip install tungsten-filament
tungsten-filament scan path/to/laravel-app        # what converts, what needs a human (writes nothing)
tungsten-filament convert path/to/laravel-app     # writes tungsten_admin/
uvicorn tungsten_admin.app:app --reload

It reads your Laravel project (it does not run PHP) and writes a ready Tungsten admin:

  • Models from your migrations (or from the live database with --database-url): columns, types, nulls, defaults, foreign keys, renames and drops in later migrations, $casts, soft deletes, UUID/ULID keys.
  • Relations from your Eloquent models: belongsTo, hasMany, hasOne, belongsToMany with pivot tables, paired both ways.
  • PHP enums as Python enums, with their getLabel() labels and getColor() badge colors.
  • Resources (Filament 3 and 4): icon, group, sort, labels, pages, simple (modal) resources, global search.
  • Forms: fields, sections, grids, tabs, wizards, repeaters with relationships, selects with relationships or enums, Laravel rules like required|min:3, and short closures such as fn (Get $get) => $get('type') === 'company'.
  • Tables: columns, money and date formats, badges, filters (select, ternary, trashed, simple where queries), actions, bulk actions, default sort, empty state.
  • Infolists and relation managers.
  • Panel settings: path, brand name, colors, navigation groups.

The new admin uses the same database as the Laravel app, read from its .env (no data copy, no secrets in the code), and people sign in with the same email and password (Laravel bcrypt hashes work as they are).

Anything it cannot carry over is marked # TODO(filament) in the code and listed in MIGRATION_REPORT.md: custom pages, widgets, policies, Livewire, long closures, morph relations and Filament plugins (with the Tungsten plugin to use instead).

Guide: https://tungsten.prisminfoways.com/docs/filament-migration

Tests

pip install -e ".[dev]" -e plugins/filament-migrate
pytest plugins/filament-migrate/tests

The tests convert two sample Laravel apps (tests/fixtures/shop3 on Filament 3, tests/fixtures/blog4 on Filament 4), then sign in to the result and list, create and edit records.

Metadata

Release files for tungsten-filament 0.1.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 tungsten-filament 0.1.0
File Size Uploaded
tungsten_filament-0.1.0.tar.gz 72.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tungsten-filament 0.1.0
File Interpreter ABI Platform
tungsten_filament-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 131.0 kB

Release files / tungsten_filament-0.1.0.tar.gz

Download URL tungsten_filament-0.1.0.tar.gz
Size 72.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0f92a0ef1395bfc1889d4b9d8f7cfa609c0be7530f2d2a4089ee4302bf68b2e3
BLAKE2b-256 checksum
How to use checksums
f394dfcc30b9ba5574ca3eaaaf590064d4d6e99a0bbbf13ce42729e28b29df88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / tungsten_filament-0.1.0-py3-none-any.whl

Download URL tungsten_filament-0.1.0-py3-none-any.whl
Size 58.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9d3567a3d94bba132e0faa60a40e949eef2781c5c3e1540d854b7374db0ff373
BLAKE2b-256 checksum
How to use checksums
6f912a6ff349d8247bb090e71c1b0ef9bfa6f15a5605abbb15c4ef675490b730
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release history Release notifications | RSS feed

This release

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