epaphrodites/epaphrodites

Epaphrodites framework combines simplicity, compatibility with Python, support for multiple databases, and a commitment to open-source principles.

v0.01 2025-04-18 07:13 UTC

This package is auto-updated.

Last update: 2025-04-19 05:24:58 UTC


README

Epaphrodites Logo

MIT License

👋 About Epaphrodites

Epaphrodites is a modern, modular, and open-source framework that combines the power of PHP, Python, and C.

It emphasizes:

  • ✨ Simplicity
  • 🛠️ Flexibility
  • 🌐 Multi-database support
  • 💡 Developer-friendly tools
  • 🧠 Native integration of C for performance-critical components

Designed for developers who want full control of their stack, Epaphrodites bridges interpreted and compiled logic to deliver speed without sacrificing convenience.

🧩 PHP Required & Optional Extensions (PHP >= 8.2)

✅ Required PHP Extensions

  • OpenSSL — SSL/TLS encryption, secure connections
  • ZIP — Compression/decompression of ZIP archives
  • GD — Image manipulation: resizing, filters, etc.
  • intl — Internationalization, locale/date formatting
  • PDO — Unified database interface
  • JSON — JSON data encoding/decoding
  • XML — Parsing and manipulating XML files
  • Mbstring — Multi-byte string support (e.g. UTF-8)
  • pdo_sqlite — PDO driver for SQLite3

🔧 Optional Extensions

  • Redis — Caching & sessions with Redis
  • pdo_oci — Oracle DB support
  • pdo_mysql — MySQL/MariaDB support
  • mongodb — MongoDB (NoSQL) integration
  • pdo_pgsql — PostgreSQL support
  • pdo_sqlsrv — Microsoft SQL Server support

⚙️ System Dependencies

  • PHP Dev Tools — Required to compile extensions (php-dev for Linux / php for macOS)
  • Python3 — Needed for Python integration
  • C Compiler — Recommended for building native components and optimizing extensions

💡 Key Notes

  • Required extensions provide core features (DB, encryption, image/text processing).
  • Optional ones depend on your tech stack.
  • System dependencies are critical for compilation (phpize) and C/Python interoperability.

🚀 Installation

composer create-project epaphrodites/epaphrodites your-project-name

⚠️ Recommendation : If you have already installed MongoDB on your machine and wish to incorporate its usage into your project, please execute the following command:

composer require mongodb/mongodb

Continue the installation :

Execute the following command to update all dependencies :

composer update

To execute "dump-autoload," run the command :

composer dump-autoload

⚙️ First configuration

  1. Open this file (SetDirectory.php)
    bin\config\SetDirectory.php
  1. Set database accpeted : ('mysql/oracle/pgsql/sqlserver/sqlite/mongodb/redis')
    define('_FIRST_DRIVER_', 'sqlite');
  1. Open this file (Config.ini)
    bin\config\config.ini
  1. Choose your first configuration
    // First DB username
    1DB_USER =

    // First DB password
    1DB_PASSWORD =

    // First DB port
    1DB_PORT =

    // First DB name
    1DB_DATABASE = "epaphroditesdb.sqlite"

    // First DB SOCKET support
    1DB_SOCKET = false

    // First DB socket
    1DB_SOCKET_PATH = ""

    // First DB host
    1DB_HOST = "127.0.0.1" 

    // First DB DRIVER - accepted : mysql/oracle/pgsql/sqlserver/sqlite/mongodb/redis
    1DB_DIVER = "sqlite"

💾 Create database

Run this command to create your database

php heredia create:db epaphroditesdb

🐍 Install python component

  • Note: This command is intended for users who have previously installed Python on their machine. It simplifies the installation of specific Python libraries essential for the optimal functioning of the Epaphrodites framework. Furthermore, you have the freedom, at your level, to integrate other libraries according to the requirements of your projects :
php heredia pip:component

🔧 Compile C components

  • Note: This command is for users who have C development tools installed on their machine. It compiles the C components essential for performance-critical operations in the Epaphrodites framework:
sudo ./shlomo
  • Ensure you've set the proper executable permissions before running: :
chmod +x shlomo 

🔥 Run your App

  • Note: For SQL databases, you must create your database before running your application. In the case of MongoDB, the system will generate your database based on your configuration.

Run server

cd your_project
php heredia run:server --port=8000

Authentification access

Login : admin
Password : admin

😎 Enjoy yourself

📗 Documentation

👥 Authors

🤝 Contributing

Contributions are welcome! Fork the repo, make changes, and submit a pull request.