Skip to main content

MetaEcosystemSuite

MetaEcosystemSuite

Python 3.11+ License: Proprietary Meta Graph API v19.0 EU DSA Compliant Tests

MetaEcosystemSuite is a proprietary engine that unifies four common pain points teams hit when building on the Meta (Facebook / Instagram) advertising ecosystem: EU DSA transparency reporting, legacy-to-unified metrics migration, pre-launch ad policy linting, and API health monitoring — all behind a single CLI and Python package.


Why this exists

Meta's advertising stack keeps shifting under developers' feet: the Graph API renames metrics, the EU Digital Services Act imposes new ad-transparency obligations on platforms operating in the EU, and Meta's own ad policies (including newer AI-content disclosure rules) change often enough that manual review doesn't scale. MetaEcosystemSuite bundles the plumbing so you don't have to rebuild it for every project.


Key Features

  1. DSA Compliance Auditor — an ETL pipeline that pulls records from the Meta Ad Library API and converts them into the EU DSA ad-transparency schema (advertiser identity, targeting criteria, spend/impression ranges, AI-disclosure status).
  2. Metrics Migrator — normalizes legacy insights fields (impressions, reach) into Meta's unified reporting model (views, viewers), with a full bidirectional field-mapping table.
  3. Ad Policy Linter — a pre-launch validator that checks ad copy against Meta's Policy 4.3 (personal attributes), AI-generated content disclosure requirements, and common exaggerated-claim patterns.
  4. Status Sentinel — an async monitor that checks Graph API / Marketing API / Ad Library latency and health concurrently, with Slack alerting on degradation.

Each module is independently usable as a Python library or through the unified meta-suite CLI.


Installation

git clone https://github.com/Ciprian-LocalPulse/meta-ecosystem-suite.git
cd meta-ecosystem-suite
pip install -e .

Copy .env.example to .env and fill in your Meta App credentials before using anything that talks to the live Graph API (the linter and normalizer work fully offline).

cp .env.example .env

Quickstart

Lint an ad before launch

meta-suite lint "Are you struggling with debt? Try our app!" --is-ai

Normalize legacy metrics

meta-suite metrics normalize --impressions 15000 --reach 4500

Pull an EU DSA transparency report

meta-suite dsa audit "example brand" --countries EU --output reports/dsa_report.json

Check API health

meta-suite sentinel check

Project layout

meta_ecosystem_suite/
├── config.py              # Pydantic Settings (env-driven)
├── cli.py                 # Unified Typer CLI entrypoint
├── dsa_auditor/            # EU DSA transparency ETL
├── metrics_migrator/        # Legacy -> unified metrics schema
├── policy_linter/          # Ad policy & AI disclosure linter
└── status_sentinel/         # Async API health monitor

See docs/ARCHITECTURE.md for a deeper walkthrough of how the modules fit together.


Running tests

pip install -e ".[dev]"
pytest

Docker

docker compose up --build

Documentation


Contributing

This is proprietary software (see LICENSE). Bug reports and feature suggestions are welcome via GitHub Issues. Pull requests may be submitted for review, but submission does not transfer copyright, and the repository owner retains full discretion over whether contributions are accepted or incorporated.

Supporting the project

This project is developed and maintained independently. If it's useful to you, see FUNDING.md for ways to support ongoing development.

License

All rights reserved. This Software is proprietary and is not open-source — viewing the public repository and its documentation is permitted, but copying, modifying, redistributing, or reusing any part of the code requires prior written authorization from the copyright holder. See LICENSE for the full terms.

Author

Built and maintained by Ciprian Stefan Plesca (@Ciprian-LocalPulse), independent researcher and developer under the LocalPulse brand.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meta_ecosystem_suite-0.1.0.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meta_ecosystem_suite-0.1.0-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file meta_ecosystem_suite-0.1.0.tar.gz.

File metadata

  • Download URL: meta_ecosystem_suite-0.1.0.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for meta_ecosystem_suite-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1ad26c532a1f842f0c6dba57ab58ba0fb34448ca764a56270762100fa30cd545
MD5 069d57a97c15b3f2b7760c406bac6a59
BLAKE2b-256 0b40d13f44112b82a974880b70fffb5166ad2bc104167a4a3cbe776c6cc61393

See more details on using hashes here.

File details

Details for the file meta_ecosystem_suite-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for meta_ecosystem_suite-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 36fd732195a8a8caf08708456126ffcf34f1a71a62e325eb25fa1dc53f5234cc
MD5 792c7715095914e6c161b6618e5a1ae4
BLAKE2b-256 4a39040a7f201fd9d492751af3031b06a8263eff5a6d4576a56cbea2b2a4b6d1

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 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