{"id":23892604,"url":"https://github.com/aelluminate/sencept-cli","last_synced_at":"2026-04-21T13:01:35.788Z","repository":{"id":269770543,"uuid":"908361599","full_name":"aelluminate/sencept-cli","owner":"aelluminate","description":"Sencept enables the creation of customizable, schema-driven synthetic data that accurately simulates real-world scenarios, making it an invaluable asset for testing, development, and research in machine learning.","archived":false,"fork":false,"pushed_at":"2025-01-03T14:26:53.000Z","size":225,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-02-18T03:30:41.556Z","etag":null,"topics":["command-line-interface","data-science","dataset","machine-learning","synthetic-dataset-generation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aelluminate.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-25T21:33:59.000Z","updated_at":"2025-01-03T14:26:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"89776ed5-139d-43c8-9c0c-db7d27363f10","html_url":"https://github.com/aelluminate/sencept-cli","commit_stats":{"total_commits":78,"total_committers":1,"mean_commits":78.0,"dds":0.0,"last_synced_commit":"ccd22ee705c06a58c24904389e1f4eb4c7960e2a"},"previous_names":["aelluminate/sencept","aelluminate/sencept-cli"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aelluminate%2Fsencept-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aelluminate%2Fsencept-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aelluminate%2Fsencept-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aelluminate%2Fsencept-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aelluminate","download_url":"https://codeload.github.com/aelluminate/sencept-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240275899,"owners_count":19775614,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line-interface","data-science","dataset","machine-learning","synthetic-dataset-generation"],"created_at":"2025-01-04T13:58:20.974Z","updated_at":"2026-04-21T13:01:30.720Z","avatar_url":"https://github.com/aelluminate.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sencept CLI\n\n![version](https://img.shields.io/badge/version-v0.2.6-black?style=for-the-badge\u0026labelColor=%231f1f1e\u0026color=%23f3f4f0) \n![powered-by](https://img.shields.io/badge/Powered_by-Aelluminate-blue?style=for-the-badge\u0026labelColor=%231f1f1e\u0026color=%23f3f4f0)\n\n**Sencept** is a *not done yet* powerful command-line interface (CLI) tool designed to generate high-quality synthetic data. The name, a portmanteau of \"synthesis\" and \"concept,\" reflects the project's core focus on conceptualizing and synthesizing realistic datasets for training and evaluating machine learning models. Sencept enables the creation of customizable, schema-driven synthetic data that accurately simulates real-world scenarios, making it an invaluable asset for testing, development, and research in machine learning.\n\n## ✨ Features\n\n- **Schema-Driven Data Generation**: Define your data structure using a JSON schema, and Sencept will generate synthetic data based on your specifications.\n- **Flexible Field Types**: Supports various data types, including strings, numbers, dates, booleans, and more.\n- **Conditional Logic**: Generate data based on conditions and dependencies between fields.\n- **Unique Values**: Ensure unique values for specific fields like user_id or order_id.\n- **CSV Export**: Save generated data to CSV files for easy integration with other tools.\n- **Customizable**: Easily extend and adapt the framework to meet your specific needs.\n- (🆕) **Weighted Random Choices**: Assign weights to choices for more realistic data distribution.\n- (🆕) **Dynamic Operations**: Perform calculations like sums, percentages, and subtractions on generated data.\n- (🆕) **Multiple Output Formats**: Save generated data in **CSV**, **JSON**, or **Excel** formats.\n- (🆕) **Command-Line Interface (CLI)**: Easily generate data with customizable options via the command line.\n\n###### **Sencept** is still in active development, and new features are being added regularly. We also had a todo list that you can check out in the **[TODO](docs/TODO.md)** guide; these are the features that are planned to be implemented in the future.\n\n## 🔨 Usage\n\n### 1. Define Your Schema\nCreate a JSON schema file (e.g., `generate.json`) to define the structure of your synthetic data and place it in the 📂 `schemas` directory. Here's an example schema:\n\n```json\n{\n    \"user_id\": {\n        \"type\": \"number\",\n        \"format\": [\n            {\n                \"position\": \"prefix\",\n                \"contains\": \"63**\",\n                \"count\": 1\n            },\n            {\n                \"position\": \"suffix\",\n                \"contains\": \"**\",\n                \"count\": 1\n            }\n        ],\n        \"length\": 6\n    },\n    \"age\": {\n        \"type\": \"number\",\n        \"range\": {\n            \"min\": 18,\n            \"max\": 60\n        }\n    },\n    \"payment_method\": {\n        \"type\": \"string\",\n        \"choices\": [\"GCash\", \"Maya\", \"Credit Card\"],\n        \"weight\": {\n            \"balanced\": false,\n            \"algorithm\": \"beta\"\n        }\n    }\n}\n```\n\nFor more advanced features like conditional logic, dynamic operations, and dependencies, refer to the **[SCHEMA GUIDE](docs/SCHEMA_GUIDE.md)** and for example schemas, check the **[EXAMPLES](docs/EXAMPLES.md)** guide.\n\n### 2. Generate Synthetic Data (CLI)\n\nUse the Command-Line Interface (CLI) to generate synthetic data with customizable options:\n\n```bash\npython main.py --numrows 1000 --format csv\n```\n\n**CLI Options**:\n\n| Options | Description | Default | Required |\n| --- | --- | --- | --- |\n| `--numrows` | Number of rows to generate. | 1000 | Definitely **Yes** | \n| `--format` | Output format (csv, json, excel). | csv | **No** |\n| `--output` | Output directory for the generated file. | `data/generated` | **No** |\n\n**Example**:\n\n- To generate 1000 rows, save as CSV, and change its output directory:\n```bash\npython main.py --numrows 1000 --format csv --output generated/sales\n```\n\n❗ NOTE: This will create a new directory named 📂 `generated/sales/` in the root folder.\n\n## 🤝 Contributing\n\nContributions are welcome! If you'd like to contribute to Sencept, please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch for your feature or bugfix.\n3. Commit your changes and push to your branch.\n4. Submit a pull request with a detailed description of your changes.\n\n###### We'll be updating the **[CONTRIBUTING](CONTRIBUTING.md)** guide soon, so stay tuned!\n\n## 📄 License\n\n**Sencept** is released under the MIT License. See the **[LICENSE](LICENSE)** file for more information.\n\n## 🌐 Contacts\n\n- **[@noeyislearning](https://www.linkedin.com/in/noeyislearning/)** on LinkedIn\n\nFor questions, feedback, or support, please open an issue on the this repository or contact the maintainer directly.\n\n## 🔥 Activity \n\n\u003cimg src=\"https://repobeats.axiom.co/api/embed/b13935418cfac1a18eb92baab7dc0a2663cda506.svg\" alt=\"Repobeats analytics image\" width=\"100%\" /\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \n###### To God be the glory.\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faelluminate%2Fsencept-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faelluminate%2Fsencept-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faelluminate%2Fsencept-cli/lists"}