Download the PHP package 1biot/fiquela without Composer

On this page you can find all versions of the php package 1biot/fiquela. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package fiquela

FiQueLa — File Query Language

[fi-kju-ela] · Query files like a database. No database required.

Packagist Version CI Packagist Dependency Version Packagist License

Coverage PHPUnit Tests PHPStan

FiQueLa brings SQL querying to structured files. Filter, join, group, aggregate, and export data from XML, CSV, JSON, NDJSON, YAML, NEON, XLSX, ODS, and HTTP access logs — using familiar SQL syntax or a fluent PHP API.


Why FiQueLa?


Supported Formats

Format Key Read Write (INTO)
CSV csv ✅ ✅
XML xml ✅ ✅
JSON (stream) jsonFile ✅ ✅
JSON json ✅ ✅
NDJSON ndJson ✅ ✅
XLSX xls ✅ ✅
ODS ods ✅ ✅
YAML yaml ✅ —
NEON neon ✅ —
HTTP access log log ✅ —
Directory dir ✅ —

Installation

Requires PHP 8.2+ with ext-fileinfo, ext-json, ext-mbstring, ext-xmlreader, ext-simplexml, ext-libxml and ext-iconv.


Quick Start

FQL string — write queries just like SQL:

Fluent API — chain PHP methods:


Core Features

Joins — across files and formats

Join data from different files and formats in a single query. Left, right, inner, full outer, and subquery joins are all supported.

UNION — merge results from multiple sources

Combine results from different files, formats, or filter conditions. UNION deduplicates, UNION ALL keeps every row.

WITH — named, reusable sub-queries (CTE)

Declare one or more Common Table Expressions before the main SELECT, then reference them by name in FROM, JOIN, or UNION branches. Each CTE is materialised once and shared between references — perfect for self-joins or eliminating repetition across UNION branches.

Forward-chaining is allowed (later CTEs may reference earlier ones); WITH RECURSIVE is not yet supported.

Expression Evaluator

FiQueLa 3.0 evaluates arithmetic, function calls, and nested expressions anywhere — in SELECT, WHERE, HAVING, ORDER BY, and ON conditions.

Aggregation

Full GROUP BY with aggregate functions, HAVING filtering, and DISTINCT support.

Rich Filtering

Export with INTO

Write query results directly to a file. Directories are created automatically; existing files are never silently overwritten.

Supported output formats: CSV, JSON, NDJSON, XML, XLSX, ODS.

Functions

String: CONCAT, CONCAT_WS, UPPER, LOWER, SUBSTRING, REPLACE, LPAD, RPAD, EXPLODE, IMPLODE, LOCATE, REVERSE, MATCH AGAINST

Math: ROUND, CEIL, FLOOR, MOD

Utility: IF, CASE WHEN, COALESCE, NULLIF, CAST, DATE_FORMAT, NOW, CURDATE, RANDOM_STRING, BASE64_ENCODE, BASE64_DECODE

Aggregate: COUNT, SUM, AVG, MIN, MAX, GROUP_CONCAT — all with optional DISTINCT

EXPLAIN ANALYZE

Profile query execution without leaving PHP. Every pipeline phase reports row counts, wall time, and memory usage.

HTTP Access Log Parsing

Query Nginx and Apache access logs with standard FQL — filter by status code, group by path, aggregate response times.

Custom log formats via Apache log_format pattern:


Two Query Styles

FiQueLa supports both styles interchangeably — pick whichever fits your workflow.

FQL string Fluent API
Familiarity SQL developers PHP developers
Dynamic queries String interpolation Method chaining
IDE support — Autocomplete, types
Readability High for complex joins High for simple filters

Fetching Results


Ecosystem

Project Description
FiQueLa CLI Interactive REPL and command-line querying with paginated table output
FiQueLa API RESTful server with JWT auth, file management, query history, and export
FiQueLa Studio Web-based visual query explorer — connect to any FiQueLa API instance

Deploy to DigitalOcean


Known Limitations


Roadmap


Documentation

Full documentation at docs.fiquela.io


Contributing

Contributions are welcome! Fork the repo, create a branch, make your changes, and open a pull request. All tests must pass.


All versions of fiquela with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
ext-fileinfo Version *
ext-json Version *
ext-mbstring Version *
ext-xmlreader Version *
ext-simplexml Version *
ext-libxml Version *
ext-iconv Version *
openspout/openspout Version ^4.28
halaxa/json-machine Version ^1.2
symfony/yaml Version ^7.0
nette/neon Version ^3.4
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package 1biot/fiquela contains the following files

Loading the files please wait ...