{"id":7514,"library":"profiles-rudderstack","title":"RudderStack Profiles","description":"RudderStack Profiles (version 0.25.2) is a warehouse-native semantic modeling layer that enables data teams to create unified customer profiles by transforming declarative YAML configurations into optimized SQL. It focuses on identity resolution and feature engineering within your data warehouse. The library is actively maintained with frequent updates, primarily delivered as a CLI tool.","status":"active","version":"0.25.2","language":"en","source_language":"en","source_url":"https://github.com/rudderlabs/profiles-mcp","tags":["rudderstack","cdp","customer-data-platform","semantic-layer","data-warehouse","identity-resolution","customer-360","cli-tool","data-modeling"],"install":[{"cmd":"pip install profiles-rudderstack","lang":"bash","label":"Install latest version"},{"cmd":"pip install profiles-rudderstack==0.25.0b5","lang":"bash","label":"Install beta release (example)"}],"dependencies":[{"reason":"Required for core functionality, ensure compatibility during upgrades.","package":"profiles-pycorelib","optional":false},{"reason":"Required for ML-related features if used.","package":"profiles-mlcorelib","optional":true},{"reason":"Used by setup script for package management.","package":"uv","optional":true}],"imports":[{"note":"profiles-rudderstack is designed as a CLI tool for managing data warehouse profiles. Direct programmatic imports for end-user functionality from the Python package are not the primary use case; instead, it generates and executes SQL based on YAML configurations managed by the 'pb' CLI. The 'Profiles API' is an external HTTP API to trigger runs, not a Python library import.","symbol":"CLI Tool (pb)","correct":"Interaction is primarily via the 'pb' command-line interface."}],"quickstart":{"code":"# 1. Install Profiles Builder\npip install profiles-rudderstack\n\n# 2. Verify installation\npb version\n\n# 3. Create warehouse connection (follow prompts)\npb init connection\n\n# 4. Initialize a new Profiles project in a directory 'my-project'\npb init pb-project -o my-project\ncd my-project\n\n# 5. Open pb_project.yaml and set 'connection:' to your connection name.\n#    Edit inputs.yaml and profiles.yaml with your data sources and features.\n\n# 6. Validate warehouse access\npb validate access\n\n# 7. Run the project to compile SQL and execute on your warehouse\npb run","lang":"bash","description":"This quickstart guides you through installing the `profiles-rudderstack` CLI tool (aliased as `pb`), setting up a warehouse connection, initializing a Profiles project, configuring it with YAML files, validating access, and finally running the project to generate customer profiles in your data warehouse."},"warnings":[{"fix":"Execute `pip3 uninstall profiles-pycorelib; pip3 uninstall profiles-rudderstack; pip3 install profiles-rudderstack --no-cache-dir` to perform a clean reinstall.","message":"Upgrading to new versions might require manual uninstallation and reinstallation of associated libraries like `profiles-pycorelib` to resolve dependency conflicts.","severity":"breaking","affected_versions":"<=0.11.0 to recent"},{"fix":"Restart your terminal/shell. If the issue persists, verify Python 3 is installed correctly, ensure `pip` is in your PATH, or explicitly navigate to the `profiles-rudderstack` installation's `/bin` subdirectory.","message":"The 'pb' command might not be recognized after installation, especially on Windows or if Python paths are not correctly configured.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Ensure the user account used for connection has read access to input tables and write access to the output schema. For Snowflake, a generic role like `PROFILES_ROLE` with appropriate privileges is recommended.","message":"Warehouse connection requires specific read/write permissions to source data schemas and the target schema for Profiles outputs. Insufficient permissions will lead to runtime errors.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Be aware of these limitations when designing projects for these warehouses. For Redshift, avoid cross-database references or test thoroughly. Use alternative methods for data insertion if `pb insert` is critical.","message":"Cross-database references can fail on some Redshift clusters, and `pb insert` functionality is not supported for Redshift, Databricks, and BigQuery.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Set the `DBUS_SESSION_BUS_ADDRESS` environment variable to `$XDG_RUNTIME_DIR/bus` (if it exists) or `/dev/null` to suppress the warning.","message":"Linux users might encounter a `DBUS_SESSION_BUS_ADDRESS` warning during command runs, which can usually be ignored.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-04-16T00:00:00.000Z","next_check":"2026-07-15T00:00:00.000Z","problems":[{"fix":"Restart your terminal. If it persists, ensure Python and pip are correctly installed and added to your PATH. On Windows, a fresh reinstall might be needed: `pip3 uninstall profiles-rudderstack-bin; pip3 uninstall profiles-rudderstack; pip3 install profiles-rudderstack --no-cache-dir`.","cause":"The Python installation's script directory (where 'pb' is installed) is not in your system's PATH, or the terminal session hasn't refreshed.","error":"'pb' is not recognized as an internal or external command, operable program or batch file."},{"fix":"Perform a clean uninstall and reinstall: `pip3 uninstall profiles-pycorelib; pip3 uninstall profiles-rudderstack; pip3 install profiles-rudderstack --no-cache-dir`.","cause":"Dependency conflicts, often when upgrading `profiles-rudderstack` without also updating `profiles-pycorelib` in a compatible way.","error":"pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. profiles-pycorelib X requires profiles-rudderstack!=Y,<=Z,>=A, but you have profiles-rudderstack B which is incompatible."},{"fix":"Review your `profiles.yaml` and `inputs.yaml` files. Ensure all table names and aliases are correctly specified and accessible in your connected warehouse. Validate your project using `pb validate` for syntax errors.","cause":"This error typically occurs during the ID stitcher model run when RudderStack cannot resolve a referenced table or alias within your YAML configurations.","error":"Could not find parent table for alias \"\"."},{"fix":"Grant the configured warehouse user appropriate read permissions on source schemas and write permissions on the schema where Profiles will output its tables. Refer to the RudderStack documentation for specific warehouse permission requirements.","cause":"The warehouse user configured in `siteconfig.yaml` lacks the necessary permissions to read from input schemas or write to output schemas.","error":"ERROR: (100033): User does not have privileges to operate on schema 'YOUR_SCHEMA'."}]}