{"id":136252,"name":"A-Profiles","description":"A Python library dedicated to the analysis of atmospheric profilers measurements.","url":"https://github.com/augustinmortier/a-profiles","last_synced_at":"2026-04-30T08:30:18.546Z","repository":{"id":39609503,"uuid":"408471353","full_name":"AugustinMortier/a-profiles","owner":"AugustinMortier","description":"Python library for reading and processing Lidar and ceilometer data","archived":false,"fork":false,"pushed_at":"2026-02-17T15:17:44.000Z","size":65644,"stargazers_count":14,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-29T17:53:36.803Z","etag":null,"topics":["aerosol","ceilometer","lidar","python"],"latest_commit_sha":null,"homepage":"https://augustinmortier.github.io/a-profiles/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AugustinMortier.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-09-20T14:16:08.000Z","updated_at":"2026-02-17T15:17:16.000Z","dependencies_parsed_at":"2026-03-04T05:03:40.020Z","dependency_job_id":null,"html_url":"https://github.com/AugustinMortier/a-profiles","commit_stats":{"total_commits":788,"total_committers":3,"mean_commits":262.6666666666667,"dds":0.0025380710659898,"last_synced_commit":"d4696de2a5217b671f89dffabc11be5881e0dd8a"},"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"purl":"pkg:github/AugustinMortier/a-profiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustinMortier%2Fa-profiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustinMortier%2Fa-profiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustinMortier%2Fa-profiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustinMortier%2Fa-profiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AugustinMortier","download_url":"https://codeload.github.com/AugustinMortier/a-profiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AugustinMortier%2Fa-profiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31313846,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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"}},"owner":{"login":"AugustinMortier","name":"augustinm","uuid":"19610522","kind":"user","description":"","email":"","website":null,"location":"Oslo, Norway","twitter":null,"company":"@metno","icon_url":"https://avatars.githubusercontent.com/u/19610522?u=085aa1075b60f6fa5456e7ced482fc3d401f5b79\u0026v=4","repositories_count":1,"last_synced_at":"2023-03-08T18:56:41.816Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/AugustinMortier","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-18T09:17:02.628Z","updated_at":"2023-03-08T18:56:41.830Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AugustinMortier","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AugustinMortier/repositories"},"packages":[],"commits":{"id":1448601,"full_name":"augustinmortier/a-profiles","default_branch":"master","total_commits":890,"total_committers":2,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":445.0,"dds":0.008988764044943864,"past_year_total_commits":21,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":10.5,"past_year_dds":0.33333333333333337,"last_synced_at":"2026-04-29T00:19:15.563Z","last_synced_commit":"2c4fc767e47a7f62a1b35d22a3e0b907437b3576","created_at":"2023-11-13T00:06:49.454Z","updated_at":"2026-04-29T00:19:15.518Z","committers":[{"name":"augustinm","email":"augustinm@met.no","login":"AugustinMortier","count":882},{"name":"charlien","email":"charlien@met.no","login":"charlienegri","count":8}],"past_year_committers":[{"name":"augustinm","email":"augustinm@met.no","login":"AugustinMortier","count":14},{"name":"charlien","email":"charlien@met.no","login":"charlienegri","count":7}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/augustinmortier%2Fa-profiles/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-29T00:00:10.453Z","repositories_count":6222821,"commits_count":900323022,"contributors_count":34904135,"owners_count":1147441,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"augustinmortier/a-profiles","html_url":"https://github.com/augustinmortier/a-profiles","last_synced_at":"2026-04-23T05:01:00.729Z","status":"error","issues_count":3,"pull_requests_count":20,"avg_time_to_close_issue":80111601.0,"avg_time_to_close_pull_request":35182.94736842105,"issues_closed_count":2,"pull_requests_closed_count":19,"pull_request_authors_count":2,"issue_authors_count":1,"avg_comments_per_issue":1.6666666666666667,"avg_comments_per_pull_request":0.8,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":19,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":37128.77777777778,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.8421052631578947,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":18,"created_at":"2023-11-13T00:06:53.711Z","updated_at":"2026-04-23T05:01:00.730Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/augustinmortier%2Fa-profiles","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/augustinmortier%2Fa-profiles/issues","issue_labels_count":{"enhancement":1,"bug":1},"pull_request_labels_count":{},"issue_author_associations_count":{"OWNER":3},"pull_request_author_associations_count":{"OWNER":29,"CONTRIBUTOR":2},"issue_authors":{"AugustinMortier":3},"pull_request_authors":{"AugustinMortier":29,"charlienegri":2},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-27T00:00:06.950Z","repositories_count":14429024,"issues_count":34456175,"pull_requests_count":112704138,"authors_count":11246739,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":2},"past_year_issue_authors":{},"past_year_pull_request_authors":{"charlienegri":2},"maintainers":[{"login":"AugustinMortier","count":32,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/AugustinMortier"}],"active_maintainers":[]},"events":{"total":{"ReleaseEvent":18,"DeleteEvent":3,"PullRequestEvent":10,"WatchEvent":3,"IssueCommentEvent":4,"PushEvent":94,"CreateEvent":20},"last_year":{"ReleaseEvent":3,"PullRequestEvent":1,"IssueCommentEvent":1,"PushEvent":11,"CreateEvent":2}},"keywords":["aerosol","ceilometer","lidar","python"],"dependencies":[{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2023-01-23T02:01:12.945Z","updated_at":"2023-01-23T02:01:12.945Z","repository_link":"https://github.com/AugustinMortier/a-profiles/blob/master/pyproject.toml","dependencies":[{"id":7107002598,"package_name":"python","ecosystem":"pypi","requirements":"\u003e=3.8,\u003c3.11","direct":true,"kind":"runtime","optional":false},{"id":7107002599,"package_name":"matplotlib","ecosystem":"pypi","requirements":"^3.5.0","direct":true,"kind":"runtime","optional":false},{"id":7107002600,"package_name":"miepython","ecosystem":"pypi","requirements":"^2.2.1","direct":true,"kind":"runtime","optional":false},{"id":7107002601,"package_name":"netCDF4","ecosystem":"pypi","requirements":"^1.5.8","direct":true,"kind":"runtime","optional":false},{"id":7107002602,"package_name":"numpy","ecosystem":"pypi","requirements":"^1.21.4","direct":true,"kind":"runtime","optional":false},{"id":7107002603,"package_name":"seaborn","ecosystem":"pypi","requirements":"^0.11.2","direct":true,"kind":"runtime","optional":false},{"id":7107002604,"package_name":"scipy","ecosystem":"pypi","requirements":"^1.7.2","direct":true,"kind":"runtime","optional":false},{"id":7107002605,"package_name":"tqdm","ecosystem":"pypi","requirements":"^4.62.3","direct":true,"kind":"runtime","optional":false},{"id":7107002606,"package_name":"xarray","ecosystem":"pypi","requirements":"^2022.03.0","direct":true,"kind":"runtime","optional":false},{"id":7107002607,"package_name":"sphinx","ecosystem":"pypi","requirements":"^4.3.0","direct":true,"kind":"runtime","optional":false},{"id":7107002608,"package_name":"pydata-sphinx-theme","ecosystem":"pypi","requirements":"\u003e=0.9.0","direct":true,"kind":"runtime","optional":false},{"id":7107002609,"package_name":"recommonmark","ecosystem":"pypi","requirements":"^0.7.1","direct":true,"kind":"runtime","optional":false},{"id":7107002610,"package_name":"typer","ecosystem":"pypi","requirements":"^0.7.0","direct":true,"kind":"runtime","optional":false},{"id":7107002611,"package_name":"orjson","ecosystem":"pypi","requirements":"^3.6.7","direct":true,"kind":"runtime","optional":false},{"id":7107002612,"package_name":"dask","ecosystem":"pypi","requirements":"^2022.10.2","direct":true,"kind":"runtime","optional":false},{"id":7107002613,"package_name":"pytest","ecosystem":"pypi","requirements":"^6.2.5","direct":true,"kind":"develop","optional":false},{"id":7107002614,"package_name":"black","ecosystem":"pypi","requirements":"^22.3.0","direct":true,"kind":"develop","optional":false},{"id":7107002615,"package_name":"ipykernel","ecosystem":"pypi","requirements":"^6.5.1","direct":true,"kind":"develop","optional":false},{"id":7107002616,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"^3.0.0","direct":true,"kind":"develop","optional":false},{"id":7107002617,"package_name":"ipython","ecosystem":"pypi","requirements":"^8.0.1","direct":true,"kind":"develop","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2023-01-23T02:01:12.824Z","updated_at":"2023-01-23T02:01:12.824Z","repository_link":"https://github.com/AugustinMortier/a-profiles/blob/master/.github/workflows/ci.yml","dependencies":[{"id":7107002487,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7107002488,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":7107002489,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"uv.lock","sha":null,"kind":"lockfile","created_at":"2026-03-04T05:03:27.404Z","updated_at":"2026-03-04T05:03:27.404Z","repository_link":"https://github.com/AugustinMortier/a-profiles/blob/master/uv.lock","dependencies":[{"id":25830527358,"package_name":"absl-py","ecosystem":"pypi","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":25830527404,"package_name":"appnope","ecosystem":"pypi","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":25830527413,"package_name":"aprofiles","ecosystem":"pypi","requirements":"0.15.0","direct":false,"kind":"runtime","optional":false},{"id":25830527428,"package_name":"asttokens","ecosystem":"pypi","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":25830527429,"package_name":"astunparse","ecosystem":"pypi","requirements":"1.6.3","direct":false,"kind":"runtime","optional":false},{"id":25830527461,"package_name":"babel","ecosystem":"pypi","requirements":"2.18.0","direct":false,"kind":"runtime","optional":false},{"id":25830527462,"package_name":"backrefs","ecosystem":"pypi","requirements":"6.2","direct":false,"kind":"runtime","optional":false},{"id":25830527466,"package_name":"black","ecosystem":"pypi","requirements":"24.10.0","direct":false,"kind":"runtime","optional":false},{"id":25830527467,"package_name":"certifi","ecosystem":"pypi","requirements":"2026.1.4","direct":false,"kind":"runtime","optional":false},{"id":25830527468,"package_name":"cffi","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25830527481,"package_name":"cftime","ecosystem":"pypi","requirements":"1.6.5","direct":false,"kind":"runtime","optional":false},{"id":25830527500,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"3.4.4","direct":false,"kind":"runtime","optional":false},{"id":25830527501,"package_name":"click","ecosystem":"pypi","requirements":"8.1.8","direct":false,"kind":"runtime","optional":false},{"id":25830527506,"package_name":"cloudpickle","ecosystem":"pypi","requirements":"3.1.2","direct":false,"kind":"runtime","optional":false},{"id":25830527507,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"runtime","optional":false},{"id":25830527508,"package_name":"comm","ecosystem":"pypi","requirements":"0.2.3","direct":false,"kind":"runtime","optional":false},{"id":25830527509,"package_name":"contourpy","ecosystem":"pypi","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":25830527510,"package_name":"contourpy","ecosystem":"pypi","requirements":"1.3.3","direct":false,"kind":"runtime","optional":false},{"id":25830527511,"package_name":"coverage","ecosystem":"pypi","requirements":"7.13.4","direct":false,"kind":"runtime","optional":false},{"id":25830527512,"package_name":"cycler","ecosystem":"pypi","requirements":"0.12.1","direct":false,"kind":"runtime","optional":false},{"id":25830527513,"package_name":"dask","ecosystem":"pypi","requirements":"2024.12.1","direct":false,"kind":"runtime","optional":false},{"id":25830527581,"package_name":"debugpy","ecosystem":"pypi","requirements":"1.8.20","direct":false,"kind":"runtime","optional":false},{"id":25830527582,"package_name":"decorator","ecosystem":"pypi","requirements":"5.2.1","direct":false,"kind":"runtime","optional":false},{"id":25830527583,"package_name":"exceptiongroup","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":25830527584,"package_name":"executing","ecosystem":"pypi","requirements":"2.2.1","direct":false,"kind":"runtime","optional":false},{"id":25830527585,"package_name":"flatbuffers","ecosystem":"pypi","requirements":"25.12.19","direct":false,"kind":"runtime","optional":false},{"id":25830527586,"package_name":"fonttools","ecosystem":"pypi","requirements":"4.61.1","direct":false,"kind":"runtime","optional":false},{"id":25830527621,"package_name":"fsspec","ecosystem":"pypi","requirements":"2026.2.0","direct":false,"kind":"runtime","optional":false},{"id":25830527622,"package_name":"gast","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":25830527646,"package_name":"ghp-import","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":25830527830,"package_name":"grpcio","ecosystem":"pypi","requirements":"1.78.0","direct":false,"kind":"runtime","optional":false},{"id":25830527831,"package_name":"h5py","ecosystem":"pypi","requirements":"3.15.1","direct":false,"kind":"runtime","optional":false},{"id":25830528060,"package_name":"jupyterlab-widgets","ecosystem":"pypi","requirements":"3.0.16","direct":false,"kind":"runtime","optional":false},{"id":25830528076,"package_name":"keras","ecosystem":"pypi","requirements":"3.12.1","direct":false,"kind":"runtime","optional":false},{"id":25830528077,"package_name":"keras","ecosystem":"pypi","requirements":"3.13.2","direct":false,"kind":"runtime","optional":false},{"id":25830528078,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"1.4.9","direct":false,"kind":"runtime","optional":false},{"id":25830527888,"package_name":"idna","ecosystem":"pypi","requirements":"3.11","direct":false,"kind":"runtime","optional":false},{"id":25830527889,"package_name":"imageio","ecosystem":"pypi","requirements":"2.37.2","direct":false,"kind":"runtime","optional":false},{"id":25830527913,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"8.7.1","direct":false,"kind":"runtime","optional":false},{"id":25830527914,"package_name":"iniconfig","ecosystem":"pypi","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":25830527915,"package_name":"ipykernel","ecosystem":"pypi","requirements":"6.31.0","direct":false,"kind":"runtime","optional":false},{"id":25830527958,"package_name":"ipython","ecosystem":"pypi","requirements":"8.38.0","direct":false,"kind":"runtime","optional":false},{"id":25830527962,"package_name":"ipywidgets","ecosystem":"pypi","requirements":"8.1.8","direct":false,"kind":"runtime","optional":false},{"id":25830527963,"package_name":"jedi","ecosystem":"pypi","requirements":"0.19.2","direct":false,"kind":"runtime","optional":false},{"id":25830527964,"package_name":"jinja2","ecosystem":"pypi","requirements":"3.1.6","direct":false,"kind":"runtime","optional":false},{"id":25830527965,"package_name":"joblib","ecosystem":"pypi","requirements":"1.5.3","direct":false,"kind":"runtime","optional":false},{"id":25830528009,"package_name":"jupyter-client","ecosystem":"pypi","requirements":"8.8.0","direct":false,"kind":"runtime","optional":false},{"id":25830528010,"package_name":"jupyter-core","ecosystem":"pypi","requirements":"5.9.1","direct":false,"kind":"runtime","optional":false},{"id":25830527737,"package_name":"google-pasta","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":25830527767,"package_name":"griffe","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25830527810,"package_name":"griffecli","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25830527815,"package_name":"griffelib","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25830528088,"package_name":"lazy-loader","ecosystem":"pypi","requirements":"0.4","direct":false,"kind":"runtime","optional":false},{"id":25830528094,"package_name":"libclang","ecosystem":"pypi","requirements":"18.1.1","direct":false,"kind":"runtime","optional":false},{"id":25830528111,"package_name":"llvmlite","ecosystem":"pypi","requirements":"0.46.0","direct":false,"kind":"runtime","optional":false},{"id":25830528116,"package_name":"locket","ecosystem":"pypi","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":25830528155,"package_name":"markdown","ecosystem":"pypi","requirements":"3.10.2","direct":false,"kind":"runtime","optional":false},{"id":25830528156,"package_name":"markdown-include","ecosystem":"pypi","requirements":"0.8.1","direct":false,"kind":"runtime","optional":false},{"id":25830528182,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":25830528242,"package_name":"markupsafe","ecosystem":"pypi","requirements":"3.0.3","direct":false,"kind":"runtime","optional":false},{"id":25830528245,"package_name":"matplotlib","ecosystem":"pypi","requirements":"3.8.4","direct":false,"kind":"runtime","optional":false},{"id":25830528262,"package_name":"matplotlib-inline","ecosystem":"pypi","requirements":"0.2.1","direct":false,"kind":"runtime","optional":false},{"id":25830528263,"package_name":"mdurl","ecosystem":"pypi","requirements":"0.1.2","direct":false,"kind":"runtime","optional":false},{"id":25830528264,"package_name":"mergedeep","ecosystem":"pypi","requirements":"1.3.4","direct":false,"kind":"runtime","optional":false},{"id":25830528284,"package_name":"miepython","ecosystem":"pypi","requirements":"2.5.5","direct":false,"kind":"runtime","optional":false},{"id":25830528311,"package_name":"mkdocs","ecosystem":"pypi","requirements":"1.6.1","direct":false,"kind":"runtime","optional":false},{"id":25830528357,"package_name":"mkdocs-autorefs","ecosystem":"pypi","requirements":"1.4.4","direct":false,"kind":"runtime","optional":false},{"id":25830528374,"package_name":"mkdocs-copy","ecosystem":"pypi","requirements":"0.0.1","direct":false,"kind":"runtime","optional":false},{"id":25830528379,"package_name":"mkdocs-get-deps","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":25830528420,"package_name":"mkdocs-material","ecosystem":"pypi","requirements":"9.7.1","direct":false,"kind":"runtime","optional":false},{"id":25830528428,"package_name":"mkdocs-material-extensions","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":25830528437,"package_name":"mkdocstrings","ecosystem":"pypi","requirements":"0.28.3","direct":false,"kind":"runtime","optional":false},{"id":25830528440,"package_name":"mkdocstrings-python","ecosystem":"pypi","requirements":"1.16.12","direct":false,"kind":"runtime","optional":false},{"id":25830528446,"package_name":"ml-dtypes","ecosystem":"pypi","requirements":"0.5.4","direct":false,"kind":"runtime","optional":false},{"id":25830528497,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":25830528498,"package_name":"namex","ecosystem":"pypi","requirements":"0.1.0","direct":false,"kind":"runtime","optional":false},{"id":25830528513,"package_name":"nest-asyncio","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":25830528514,"package_name":"netcdf4","ecosystem":"pypi","requirements":"1.7.3","direct":false,"kind":"runtime","optional":false},{"id":25830528527,"package_name":"netcdf4","ecosystem":"pypi","requirements":"1.7.4","direct":false,"kind":"runtime","optional":false},{"id":25830528528,"package_name":"networkx","ecosystem":"pypi","requirements":"3.4.2","direct":false,"kind":"runtime","optional":false},{"id":25830528529,"package_name":"networkx","ecosystem":"pypi","requirements":"3.6.1","direct":false,"kind":"runtime","optional":false},{"id":25830528530,"package_name":"numba","ecosystem":"pypi","requirements":"0.63.1","direct":false,"kind":"runtime","optional":false},{"id":25830528537,"package_name":"numpy","ecosystem":"pypi","requirements":"2.2.6","direct":false,"kind":"runtime","optional":false},{"id":25830528539,"package_name":"numpy","ecosystem":"pypi","requirements":"2.3.5","direct":false,"kind":"runtime","optional":false},{"id":25830528540,"package_name":"opt-einsum","ecosystem":"pypi","requirements":"3.4.0","direct":false,"kind":"runtime","optional":false},{"id":25830528607,"package_name":"optree","ecosystem":"pypi","requirements":"0.18.0","direct":false,"kind":"runtime","optional":false},{"id":25830528618,"package_name":"orjson","ecosystem":"pypi","requirements":"3.11.7","direct":false,"kind":"runtime","optional":false},{"id":25830528619,"package_name":"packaging","ecosystem":"pypi","requirements":"26.0","direct":false,"kind":"runtime","optional":false},{"id":25830528620,"package_name":"paginate","ecosystem":"pypi","requirements":"0.5.7","direct":false,"kind":"runtime","optional":false},{"id":25830528660,"package_name":"pandas","ecosystem":"pypi","requirements":"2.3.3","direct":false,"kind":"runtime","optional":false},{"id":25830528662,"package_name":"pandas","ecosystem":"pypi","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":25830528663,"package_name":"parso","ecosystem":"pypi","requirements":"0.8.6","direct":false,"kind":"runtime","optional":false},{"id":25830528664,"package_name":"partd","ecosystem":"pypi","requirements":"1.4.2","direct":false,"kind":"runtime","optional":false},{"id":25830528703,"package_name":"pathspec","ecosystem":"pypi","requirements":"1.0.4","direct":false,"kind":"runtime","optional":false},{"id":25830528704,"package_name":"pexpect","ecosystem":"pypi","requirements":"4.9.0","direct":false,"kind":"runtime","optional":false},{"id":25830528736,"package_name":"pillow","ecosystem":"pypi","requirements":"12.1.1","direct":false,"kind":"runtime","optional":false},{"id":25830528737,"package_name":"platformdirs","ecosystem":"pypi","requirements":"4.9.2","direct":false,"kind":"runtime","optional":false},{"id":25830528740,"package_name":"pluggy","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":25830528747,"package_name":"prompt-toolkit","ecosystem":"pypi","requirements":"3.0.52","direct":false,"kind":"runtime","optional":false},{"id":25830528749,"package_name":"protobuf","ecosystem":"pypi","requirements":"6.33.5","direct":false,"kind":"runtime","optional":false},{"id":25830528762,"package_name":"psutil","ecosystem":"pypi","requirements":"7.2.2","direct":false,"kind":"runtime","optional":false},{"id":25830528763,"package_name":"ptyprocess","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":25830528764,"package_name":"pure-eval","ecosystem":"pypi","requirements":"0.2.3","direct":false,"kind":"runtime","optional":false},{"id":25830528765,"package_name":"pycparser","ecosystem":"pypi","requirements":"3.0","direct":false,"kind":"runtime","optional":false},{"id":25830528766,"package_name":"pygments","ecosystem":"pypi","requirements":"2.19.2","direct":false,"kind":"runtime","optional":false},{"id":25830528767,"package_name":"pymdown-extensions","ecosystem":"pypi","requirements":"10.21","direct":false,"kind":"runtime","optional":false},{"id":25830528768,"package_name":"pyparsing","ecosystem":"pypi","requirements":"3.3.2","direct":false,"kind":"runtime","optional":false},{"id":25830528780,"package_name":"pytest","ecosystem":"pypi","requirements":"8.4.2","direct":false,"kind":"runtime","optional":false},{"id":25830528781,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":25830528782,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.9.0.post0","direct":false,"kind":"runtime","optional":false},{"id":25830528783,"package_name":"pytz","ecosystem":"pypi","requirements":"2025.2","direct":false,"kind":"runtime","optional":false},{"id":25830528784,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0.3","direct":false,"kind":"runtime","optional":false},{"id":25830528785,"package_name":"pyyaml-env-tag","ecosystem":"pypi","requirements":"1.1","direct":false,"kind":"runtime","optional":false},{"id":25830528847,"package_name":"pyzmq","ecosystem":"pypi","requirements":"27.1.0","direct":false,"kind":"runtime","optional":false},{"id":25830528848,"package_name":"requests","ecosystem":"pypi","requirements":"2.32.5","direct":false,"kind":"runtime","optional":false},{"id":25830528849,"package_name":"rich","ecosystem":"pypi","requirements":"13.9.4","direct":false,"kind":"runtime","optional":false},{"id":25830528850,"package_name":"scikit-image","ecosystem":"pypi","requirements":"0.25.2","direct":false,"kind":"runtime","optional":false},{"id":25830528858,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"1.7.2","direct":false,"kind":"runtime","optional":false},{"id":25830528869,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"1.8.0","direct":false,"kind":"runtime","optional":false},{"id":25830528870,"package_name":"scipy","ecosystem":"pypi","requirements":"1.15.3","direct":false,"kind":"runtime","optional":false},{"id":25830528871,"package_name":"scipy","ecosystem":"pypi","requirements":"1.17.0","direct":false,"kind":"runtime","optional":false},{"id":25830528872,"package_name":"seaborn","ecosystem":"pypi","requirements":"0.13.2","direct":false,"kind":"runtime","optional":false},{"id":25830528897,"package_name":"setuptools","ecosystem":"pypi","requirements":"82.0.0","direct":false,"kind":"runtime","optional":false},{"id":25830528902,"package_name":"shellingham","ecosystem":"pypi","requirements":"1.5.4","direct":false,"kind":"runtime","optional":false},{"id":25830528903,"package_name":"six","ecosystem":"pypi","requirements":"1.17.0","direct":false,"kind":"runtime","optional":false},{"id":25830528911,"package_name":"stack-data","ecosystem":"pypi","requirements":"0.6.3","direct":false,"kind":"runtime","optional":false},{"id":25830528920,"package_name":"tensorboard","ecosystem":"pypi","requirements":"2.20.0","direct":false,"kind":"runtime","optional":false},{"id":25830528921,"package_name":"tensorboard-data-server","ecosystem":"pypi","requirements":"0.7.2","direct":false,"kind":"runtime","optional":false},{"id":25830528931,"package_name":"tensorflow","ecosystem":"pypi","requirements":"2.20.0","direct":false,"kind":"runtime","optional":false},{"id":25830528932,"package_name":"termcolor","ecosystem":"pypi","requirements":"3.3.0","direct":false,"kind":"runtime","optional":false},{"id":25830528933,"package_name":"threadpoolctl","ecosystem":"pypi","requirements":"3.6.0","direct":false,"kind":"runtime","optional":false},{"id":25830528953,"package_name":"tifffile","ecosystem":"pypi","requirements":"2025.5.10","direct":false,"kind":"runtime","optional":false},{"id":25830528994,"package_name":"tifffile","ecosystem":"pypi","requirements":"2026.2.16","direct":false,"kind":"runtime","optional":false},{"id":25830528995,"package_name":"tomli","ecosystem":"pypi","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":25830528996,"package_name":"toolz","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":25830529048,"package_name":"tornado","ecosystem":"pypi","requirements":"6.5.4","direct":false,"kind":"runtime","optional":false},{"id":25830529049,"package_name":"traitlets","ecosystem":"pypi","requirements":"5.14.3","direct":false,"kind":"runtime","optional":false},{"id":25830529050,"package_name":"typer","ecosystem":"pypi","requirements":"0.15.4","direct":false,"kind":"runtime","optional":false},{"id":25830529051,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.15.0","direct":false,"kind":"runtime","optional":false},{"id":25830529052,"package_name":"tzdata","ecosystem":"pypi","requirements":"2025.3","direct":false,"kind":"runtime","optional":false},{"id":25830529069,"package_name":"urllib3","ecosystem":"pypi","requirements":"2.6.3","direct":false,"kind":"runtime","optional":false},{"id":25830529070,"package_name":"watchdog","ecosystem":"pypi","requirements":"6.0.0","direct":false,"kind":"runtime","optional":false},{"id":25830529071,"package_name":"wcwidth","ecosystem":"pypi","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":25830529072,"package_name":"werkzeug","ecosystem":"pypi","requirements":"3.1.5","direct":false,"kind":"runtime","optional":false},{"id":25830529073,"package_name":"wheel","ecosystem":"pypi","requirements":"0.46.3","direct":false,"kind":"runtime","optional":false},{"id":25830529108,"package_name":"widgetsnbextension","ecosystem":"pypi","requirements":"4.0.15","direct":false,"kind":"runtime","optional":false},{"id":25830529112,"package_name":"wrapt","ecosystem":"pypi","requirements":"2.1.1","direct":false,"kind":"runtime","optional":false},{"id":25830529162,"package_name":"xarray","ecosystem":"pypi","requirements":"2024.11.0","direct":false,"kind":"runtime","optional":false},{"id":25830529204,"package_name":"zipp","ecosystem":"pypi","requirements":"3.23.0","direct":false,"kind":"runtime","optional":false}]}],"score":3.4011973816621555,"created_at":"2023-11-13T00:00:25.354Z","updated_at":"2026-04-30T08:30:18.591Z","avatar_url":"https://github.com/AugustinMortier.png","language":"Python","category":"Atmosphere","sub_category":"Atmospheric Composition and Dynamics","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"[![CI](https://github.com/AugustinMortier/A-Profiles/actions/workflows/ci.yml/badge.svg)](https://github.com/AugustinMortier/A-Profiles/actions/workflows/ci.yml)\n[![Documentation Status](https://img.shields.io/badge/docs-online-brightgreen)](https://augustinmortier.github.io/a-profiles/)\n[![codecov](https://codecov.io/gh/AugustinMortier/A-Profiles/branch/master/graph/badge.svg?token=CQH8TD7VES)](https://codecov.io/gh/AugustinMortier/A-Profiles)\n\n\u003cimg src=\"docs/assets/images/A-Profiles.png#gh-light-mode-only\" width=\"200\" style=\"margin: 20px 10px\"/\u003e\n\u003cimg src=\"docs/assets/images/A-Profiles-white.png#gh-dark-mode-only\" width=\"200\" style=\"margin: 20px 10px\"/\u003e\n\n\nPython library for reading and processing ALC (Automated Lidars and Ceilometers) measurements. A-Profiles supports [E-PROFILE](https://e-profile.eu/#/cm_profile) ceilometer data. This library is used by [V-Profiles](https://vprofiles.met.no).\n\n## 📗 Documentation\nThe official documentation is available [here](https://augustinmortier.github.io/a-profiles/).\n\n## ✨ Installation\n\n### \u003cimg src=\"docs/assets/images/pip.svg\" height=\"15px\"/\u003e via *pip*\n*aprofiles* is directly available on *pip*. This will install the latest released version of *aprofiles* and its depencencies.\n\n- with *pip*\n\n```\npip install aprofiles\n```\n\n- with *pipx*\n\n```\npipx install aprofiles\n```\n\n### \u003cimg src=\"docs/assets/images/github.svg\" height=\"15px\"/\u003e from source\n1. clone this repository\n\n    ```\n    git clone https://github.com/AugustinMortier/A-Profiles.git\n    ```\n\n2. installation\n   - with *pip* (\u003e21.3)\n\n       ```\n       pip install .\n       ```\n    \n    - with *pipx*\n\n       ```\n       pipx install .\n       ```\n\n   - with *uv*\n  \n       ```\n       uv pip install .\n       ```\n\n\nIn order to install directly the package from source with pip, you can also use the combined command\n\n```\npip install \"git+ssh://git@github.com/AugustinMortier/A-Profiles.git\"\n```\n\n## 🚀 Get started\n\n### Reading Data\n```python\n# import library\nimport aprofiles as apro\n\n# read local NetCDF L2 data\npath = \"examples/data/E-PROFILE/L2_0-20000-006735_A20210908.nc\"\nprofiles = apro.reader.ReadProfiles(path).read()\n``` \n\n### Basic corrections and Image plotting\n```python\n# extrapolate lowest layers for removing outliers\nprofiles.extrapolate_below(z=150, inplace=True)\n\n# image plotting of backscatter signal in log scale\nprofiles.plot(zref='agl', vmin=1e-2, vmax=1e1, log=True)\n``` \n\u003cimg src=\"docs/assets/images/QL-Oslo-20210909.png\" title=\"Attenuated Backscatter Signal\" width=\"800\"/\u003e\n\n\n### Profiles Analysis\n```python\n# fog/condensation detection\nprofiles.foc(zmin_cloud=200) \n\n# clouds detection\nprofiles.clouds()\n\n# planetary boundary layer\nprofiles.pbl(zmin=200, zmax=3000, under_clouds=True)\n```\n\n### Visualization\n\n#### Image\n```python\n# image plotting with additional retrievals\nprofiles.plot(show_fog=True, show_clouds=True, show_pbl=True, vmin=1e-2, vmax=1e1, log=True)\n```\n\u003cimg src=\"docs/assets/images/QL-Fog\u0026Clouds\u0026PBL-Oslo-20210909.png\" title=\"Fog or Condensation and Clouds Detection\" width=\"800\"/\u003e\n\n##### Single Profile\n```python\n# plot single profile at 21:20\ndatetime = np.datetime64('2021-09-09T21:20:00')\nprofiles.plot(datetime=datetime, vmin=-1, vmax=10, zmax=12000, show_clouds=True, show_pbl=True)\n```\n\u003cimg src=\"docs/assets/images/Profile-Oslo-20210909T212005.png\" title=\"Single Profile View\" width=\"400\"/\u003e\n\n## ⚖️ License\n[GPL-3.0](LICENSE).\n\n## 🎓 Support\n*A-Profiles* is developed by [MET Norway](https://github.com/metno) and supported by [EUMETNET](https://www.eumetnet.eu/).\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/136252","html_url":"https://ost.ecosyste.ms/projects/136252"}