{"id":21034676,"url":"https://github.com/lpenz/pthugefileviewer","last_synced_at":"2025-05-15T13:33:00.691Z","repository":{"id":230738548,"uuid":"780054326","full_name":"lpenz/pthugefileviewer","owner":"lpenz","description":"Huge file viewer control for prompt-toolkit","archived":false,"fork":false,"pushed_at":"2024-05-06T21:07:04.000Z","size":36,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-25T19:41:33.510Z","etag":null,"topics":["prompt-toolkit","python-prompt-toolkit"],"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/lpenz.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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-31T15:16:39.000Z","updated_at":"2024-05-06T21:03:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"ca00e64e-b704-48a2-948b-ab360be2ece9","html_url":"https://github.com/lpenz/pthugefileviewer","commit_stats":null,"previous_names":["lpenz/pthugefileviewer"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpenz%2Fpthugefileviewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpenz%2Fpthugefileviewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpenz%2Fpthugefileviewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpenz%2Fpthugefileviewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lpenz","download_url":"https://codeload.github.com/lpenz/pthugefileviewer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254349643,"owners_count":22056388,"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":["prompt-toolkit","python-prompt-toolkit"],"created_at":"2024-11-19T13:07:57.762Z","updated_at":"2025-05-15T13:33:00.665Z","avatar_url":"https://github.com/lpenz.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CI](https://github.com/lpenz/pthugefileviewer/actions/workflows/ci.yml/badge.svg)](https://github.com/lpenz/pthugefileviewer/actions/workflows/ci.yml)\n[![coveralls](https://coveralls.io/repos/github/lpenz/pthugefileviewer/badge.svg?branch=main)](https://coveralls.io/github/lpenz/pthugefileviewer?branch=main)\n[![PyPI](https://img.shields.io/pypi/v/pthugefileviewer)](https://pypi.org/project/pthugefileviewer/)\n[![github](https://img.shields.io/github/v/release/lpenz/pthugefileviewer?logo=github)](https://github.com/lpenz/pthugefileviewer/releases)\n\n\n# pthugefileviewer\n\n*pthugefileviewer* is a control for [prompt-toolkit] that can display\nhuge files. It does so by mmap'ing the file and only reading the lines\nshown in the screen. It avoids any operation that would require\nreading the whole file, like counting the lines.\n\n\n## Installation\n\n\n### Releases\n\npthugefileviewer can be installed via [pypi]:\n\n```\npip install pthugefileviewer\n```\n\nFor [nix] users, it is also available as a [flake].\n\n\n### Repository\n\nWe can also clone the github repository and install pthugefileviewer from it with:\n\n```\npip install .\n```\n\nWe can also install it for the current user only by running instead:\n\n```\npip install --user .\n```\n\n\n## Development\n\npthugefileviewer uses the standard python3 infra. To develop and test the module:\n- Clone the repository and go into the directory:\n  ```\n  git clone git@github.com:lpenz/pthugefileviewer.git\n  cd pthugefileviewer\n  ```\n- Use [`venv`] to create a local virtual environment with\n  ```\n  python -m venv venv\n  ```\n- Activate the environment by running the shell-specific `activate`\n  script in `./venv/bin/`. For [fish], for instance, run:\n  ```\n  source ./venv/bin/activate.fish\n  ```\n- Install pthugefileviewer in \"editable mode\":\n  ```\n  pip install -e '.[test]'\n  ```\n- To run the tests:\n  ```\n  pytest\n  ```\n  Or, to run the tests with coverage:\n  ```\n  pytest --cov\n  ```\n- Finally, to exit the environment and clean it up:\n  ```\n  deactivate\n  rm -rf venv\n  ```\n\n\n[pypi]: https://pypi.org/project/pthugefileviewer/\n[nix]: https://nixos.org/\n[flake]: https://nixos.wiki/wiki/Flakes\n[`venv`]: https://docs.python.org/3/library/venv.html\n[prompt-toolkit]: https://github.com/prompt-toolkit/python-prompt-toolkit\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flpenz%2Fpthugefileviewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flpenz%2Fpthugefileviewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flpenz%2Fpthugefileviewer/lists"}