venusian / framework
The Venusian PHP Framework.
Requires
- php: ^8.4|^8.5
- ext-ctype: *
- ext-filter: *
- ext-hash: *
- ext-mbstring: *
- ext-openssl: *
- ext-pdo: *
- brick/math: ^0.15|^0.16|^0.17|^0.18|^1.0
- doctrine/inflector: ^2.0
- guzzlehttp/guzzle: ^7.9
- guzzlehttp/promises: ^2.0
- guzzlehttp/psr7: ^2.7
- guzzlehttp/uri-template: ^1.0
- laravel/prompts: ^0.3.0
- laravel/serializable-closure: ^2.0
- league/commonmark: ^2.8.1
- league/flysystem: ^3.25.1
- league/flysystem-local: ^3.25.1
- monolog/monolog: ^3.0
- nesbot/carbon: ^3.8.4
- nunomaduro/termwind: ^2.0
- phpoption/phpoption: ^1.9
- psr/container: ^1.1.1 || ^2.0.1
- psr/http-message: ^1.1|^2.0
- psr/log: ^1.0|^2.0|^3.0
- psr/simple-cache: ^1.0 || ^2.0 || ^3.0
- ramsey/uuid: ^4.7
- symfony/console: ^8.0.0
- symfony/error-handler: ^8.0.0
- symfony/event-dispatcher: ^8.0.0
- symfony/filesystem: ^v8.0.0
- symfony/finder: ^8.0
- symfony/mime: ^v8.0.0
- symfony/polyfill-php84: ^1.33
- symfony/polyfill-php85: ^1.33
- symfony/polyfill-php86: ^1.34
- symfony/process: ^8.0.0
- symfony/uid: ^8.0.0
- symfony/var-dumper: ^8.0.0
- vlucas/phpdotenv: ^5.6.1
- voku/portable-ascii: ^2.0.2
Requires (Dev)
- fakerphp/faker: ^1.24
- mockery/mockery: ^1.6
- pestphp/pest: ^4
Suggests
- ext-curl: Required for the curl async driver.
- ext-fileinfo: Required to detect the MIME type of local files.
- ext-intl: Required to format numbers with Number.
- ext-parallel: Required to use the thread worker-pool driver (ZTS builds only).
- ext-pcntl: Required for signal handling: trapped command signals, queue worker timeouts, and loop stop signals.
- ext-pcurl: Required for the pcurl async driver: curl's own sockets wait on the loop.
- ext-posix: Required for a timed-out worker to kill itself.
- ext-redis: Required to use the phpredis connector (^4.0|^5.0|^6.0).
- aws/aws-sdk-php: Required to use the s3 driver (^3.322.9).
- fakerphp/faker: Required to use the Instrument factory builder (^1.24).
- laudis/neo4j-php-client: Required for Voyager\Graph Neo4j connections (^3.3).
- league/flysystem-aws-s3-v3: Required to use the s3 driver (^3.25.1).
- league/flysystem-ftp: Required to use the ftp driver (^3.25.1).
- league/flysystem-path-prefixing: Required to use the prefix disk option (^3.25.1).
- league/flysystem-read-only: Required to use the read-only disk option (^3.25.1).
- league/flysystem-sftp-v3: Required to use the sftp driver (^3.25.1).
- php-io-extensions/epoll: Required to use the epoll waiter backend on Linux.
- php-io-extensions/kqueue: Required to use the kqueue waiter backend on macOS and BSD.
- predis/predis: Required to use the predis connector (^2.3|^3.0).
- pusher/pusher-php-server: Required to use the Pusher and Reverb broadcast drivers (^7.0).
- react/promise: Required to use the react promise engine (^3.0).
- spatie/fork: Required to use the fork concurrency driver (^1.2).
Provides
None
Conflicts
None
Replaces
- venusian-voyager/broadcasting: 0.10.2
- venusian-voyager/bus: 0.10.2
- venusian-voyager/cache: 0.10.2
- venusian-voyager/collections: 0.10.2
- venusian-voyager/concurrency: 0.10.2
- venusian-voyager/conditionable: 0.10.2
- venusian-voyager/config: 0.10.2
- venusian-voyager/console: 0.10.2
- venusian-voyager/contracts: 0.10.2
- venusian-voyager/database: 0.10.2
- venusian-voyager/encryption: 0.10.2
- venusian-voyager/filesystem: 0.10.2
- venusian-voyager/graph: 0.10.2
- venusian-voyager/hashing: 0.10.2
- venusian-voyager/http: 0.10.2
- venusian-voyager/io-pools: 0.10.2
- venusian-voyager/log: 0.10.2
- venusian-voyager/macroable: 0.10.2
- venusian-voyager/nuts-and-bolts: 0.10.2
- venusian-voyager/pagination: 0.10.2
- venusian-voyager/pipeline: 0.10.2
- venusian-voyager/process: 0.10.2
- venusian-voyager/queue: 0.10.2
- venusian-voyager/redis: 0.10.2
- venusian-voyager/reflection: 0.10.2
- venusian-voyager/signals: 0.10.2
- venusian-voyager/sketches: 0.10.2
- venusian-voyager/vessel: 0.10.2
- venusian-voyager/workflows: 0.10.2
README
About Venusian
Note: This repository contains the core code of the Venusian framework. If you want to build an application using Venusian, visit the main Venusian skeleton repository.
Venusian is a PHP application framework for building applications utilizing Windowed GUIs, Human Inputs, and Integrated Circuits, using a Laravel-like expressive syntax and familiar components.
Like playing with sensors and servos? Saw those tutorials that use CircuitPython or C and just didn't feel like learning a whole new language for the whole ordeal? Well look no further!
Venusian is an embedded applications framework that doesn't drift very far from Laravel's expressive, elegant syntax. There's simply no reason that if Python can do it, PHP can't! After all, PHP is way faster than Python, and Python needs to be extended for embedded development. So we did that, too.
Venusian will take the pain out of playing with servos, displays, sensors and other cool gadgets that speak I2C, SPI, UART or plain ol' on/off bit banging across a GPIO — or any bus, really.
Got a Mac or Linux desktop with a USB-to-Serial device? That works. Got a Raspberry Pi, Jetson Orin Nano, or any other Linux SBC with an exposed GPIO bus? Even better. Either way, you can make PHP build desktop experiences or drive integrated circuits for an extremely satisfying experience!
Built with AI assistance. This framework was developed LLM-assisted — not vibe-coded. Generated code was deliberately prompted and reviewed by a professional software engineer. See AI-assisted development.
Learning Venusian
Venusian has documentation and guides on the Venusian website, making it a breeze to get started with the framework.
AI-assisted development
This codebase was built with LLM assistance under human direction. Prompts, reviews, and architectural decisions were owned by a professional software engineer — the model accelerates drafting and exploration; it does not replace judgment on APIs, dependency direction, or what ships.
Contributing
Thank you for considering contributing to the Venusian framework! The contribution guide can be found in the Venusian documentation.
Code of Conduct
In order to ensure that the Venusian community is welcoming to all, please review and abide by the Code of Conduct.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
License
The Venusian framework is open-sourced software licensed under the MIT license.