{"id":28114696,"url":"https://github.com/pyrevitlabs/rsparam","last_synced_at":"2025-09-12T11:35:24.301Z","repository":{"id":50188746,"uuid":"123467038","full_name":"pyrevitlabs/rsparam","owner":"pyrevitlabs","description":"Command-line utility for managing Revit Shared Parameter files","archived":false,"fork":false,"pushed_at":"2025-06-17T10:54:03.000Z","size":41,"stargazers_count":14,"open_issues_count":0,"forks_count":1,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-06-17T11:47:29.272Z","etag":null,"topics":["autodesk","revit","revit-api"],"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/pyrevitlabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"zenodo":null}},"created_at":"2018-03-01T17:15:09.000Z","updated_at":"2025-06-17T10:54:07.000Z","dependencies_parsed_at":"2025-06-17T11:37:23.332Z","dependency_job_id":"4adfdaa9-17bf-4fda-9d78-9dae813d4bc9","html_url":"https://github.com/pyrevitlabs/rsparam","commit_stats":null,"previous_names":["pyrevitlabs/rsparam","eirannejad/rsparam"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pyrevitlabs/rsparam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyrevitlabs%2Frsparam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyrevitlabs%2Frsparam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyrevitlabs%2Frsparam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyrevitlabs%2Frsparam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyrevitlabs","download_url":"https://codeload.github.com/pyrevitlabs/rsparam/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyrevitlabs%2Frsparam/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260654625,"owners_count":23042672,"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":["autodesk","revit","revit-api"],"created_at":"2025-05-14T05:25:56.172Z","updated_at":"2025-06-19T00:03:43.608Z","avatar_url":"https://github.com/pyrevitlabs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PyPi](https://img.shields.io/pypi/v/rsparam.svg)](https://pypi.org/project/rsparam)\n\n# rsparam\nCommand-line utility and python module for managing Revit Shared Parameter files.\n\n\n## Installation\n\n``` bash\npip install rsparam\n```\n\n## Usage: Command line utility\n\n``` text\nUtilities for working with Revit shared parameter files\n\nUsage:\n    rsparam (-h | --help)\n    rsparam (-V | --version)\n    rsparam (-W | --writerversion)\n    rsparam [-q -e \u003cencod\u003e] list [-a -s \u003csort_by\u003e -c \u003ccolumns\u003e -o \u003cout_file\u003e] \u003csrc_file\u003e\n    rsparam [-q -e \u003cencod\u003e] list [-p -g -s \u003csort_by\u003e -c \u003ccolumns\u003e -o \u003cout_file\u003e] \u003csrc_file\u003e\n    rsparam [-q -e \u003cencod\u003e] list -p [-f \u003cguid\u003e -o \u003cout_file\u003e] \u003csrc_file\u003e\n    rsparam [-q -e \u003cencod\u003e] find dupl [-n -a -p -g -s \u003csort_by\u003e -c \u003ccolumns\u003e -o \u003cout_file\u003e] \u003csrc_file\u003e\n    rsparam [-q -e \u003cencod\u003e] find \u003cregex_pattern\u003e [-p -g -s \u003csort_by\u003e -c \u003ccolumns\u003e -o \u003cout_file\u003e] \u003csrc_file\u003e\n    rsparam [-q -e \u003cencod\u003e] comp [-p -g -1 -2 -s \u003csort_by\u003e -c \u003ccolumns\u003e -O] \u003cfirst_file\u003e \u003csecond_file\u003e\n    rsparam [-q -e \u003cencod\u003e] merge [-o \u003cout_file\u003e] \u003csrc_files\u003e...\n    rsparam [-q -e \u003cencod\u003e] subtract [-o \u003cout_file\u003e] \u003cfirst_file\u003e \u003csrc_files\u003e...\n\nOptions:\n    -h, --help                          Show this help\n    -V, --version                       Show command version\n    -W, --writerversion                 Show shared param file version\n    -q, --quiet                         Quiet mode [default: False]\n    -e \u003cencod\u003e, --encode \u003cencod\u003e        File encoding [default: utf-8]\n    -a, --all                           All items\n    -p, --params                        Parameters only\n    -g, --groups                        Parameter groups only\n    -s \u003csort_by\u003e, --sortby \u003csort_by\u003e    Sort by \"name\", \"group\" [default: name]\n    -c \u003ccolumns\u003e, --columns \u003ccolumns\u003e   List of data columns separated by :\n    -f \u003cguid\u003e, --filter \u003cguid\u003e          Filter by group guid\n    -o \u003cout_file\u003e, --output \u003cout_file\u003e  Write results to output file\n    -O, --OUTPUT                        Write complex results to output file(s)\n    -n, --byname                        Compare by name instead of guid\n    -1, --first                         Output results for first file only\n    -2, --second                        Output results for second file only\n```\n#### Examples\n`rsparam list -p /path/to/file.txt` List all parameters in source file\n\n`rsparam list -g /path/to/file.txt` List all groups in source file\n\n`rsparam list -pf 100 /path/to/file.txt` List all parameters in group with id 100\n\n`rsparam find dupl -p /path/to/file.txt` List all duplicate parameters\n\n`rsparam find dupl -pn /path/to/file.txt` List all duplicate parameters compared by name\n\n`rsparam find Mech -g /path/to/file.txt` List any group matching string\n\n`rsparam comp -p2 /path/to/file1.txt /path/to/file2.txt` List all unique parameters in second file\n\n`rsparam subtract /path/to/file1.txt /path/to/file2.txt` Remove parameters in file2 from file1\n\n## Usage: python module\n\n``` python\nimport rsparam\n\n\n# returned entries are a tuple of `groups` and `params`\n# rsparam.SharedParamEntries\ndef print_entries(entries):\n    for g in entries.groups:\n        # each group is rsparam.SharedParamGroup\n        print(g)\n\n    for p in entries.params:\n        # each parameter is rsparam.SharedParam\n        print (p)\n\n\n# getting groups and parameters\nspentries = rsparam.read_entries(src_file, encoding='utf-16')\nprint_entries(spentries)\n\n# getting groups only\ngroups = rsparam.get_paramgroups(src_file)\n\n# getting parameters only\nparams = rsparam.get_params(src_file)\n\n# finding duplicate groups and params by guid (set byname=True to compare by name)\ndupl_entries = rsparam.find_duplicates(src_file, byname=False)\nprint_entries(dupl_entries)\n\n# find groups and parameters matching string\nmatched_entries = rsparam.find(src_file, searchstr)\nprint_entries(matched_entries)\n\n# comparing two shared param files\nuniq_first_entries, unique_second_entries = rsparam.compare(first_file, second_file)\nprint_entries(uniq_first_entries)\nprint_entries(unique_second_entries)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyrevitlabs%2Frsparam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpyrevitlabs%2Frsparam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyrevitlabs%2Frsparam/lists"}