{"id":15914565,"url":"https://github.com/bbengfort/mosaic","last_synced_at":"2026-01-21T02:09:12.277Z","repository":{"id":69222761,"uuid":"46858115","full_name":"bbengfort/mosaic","owner":"bbengfort","description":"User space file system usage analysis tool. ","archived":false,"fork":false,"pushed_at":"2015-11-29T17:22:00.000Z","size":1938,"stargazers_count":2,"open_issues_count":9,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-08T04:30:42.821Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/bbengfort.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}},"created_at":"2015-11-25T11:41:04.000Z","updated_at":"2023-01-15T19:30:25.000Z","dependencies_parsed_at":"2023-03-11T05:32:01.379Z","dependency_job_id":null,"html_url":"https://github.com/bbengfort/mosaic","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/bbengfort/mosaic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbengfort%2Fmosaic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbengfort%2Fmosaic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbengfort%2Fmosaic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbengfort%2Fmosaic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bbengfort","download_url":"https://codeload.github.com/bbengfort/mosaic/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbengfort%2Fmosaic/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28622473,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T23:49:58.628Z","status":"online","status_checked_at":"2026-01-21T02:00:08.227Z","response_time":86,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"keywords":[],"created_at":"2024-10-06T17:04:22.132Z","updated_at":"2026-01-21T02:09:12.261Z","avatar_url":"https://github.com/bbengfort.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mosaic\n\n**User space file system usage analysis tool.**\n\n[![Build Status](https://travis-ci.org/bbengfort/mosaic.svg?branch=master)](https://travis-ci.org/bbengfort/mosaic)\n[![Coverage Status](https://coveralls.io/repos/bbengfort/mosaic/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/bbengfort/mosaic?branch=master)\n[![Stories in Ready](https://badge.waffle.io/bbengfort/mosaic.png?label=ready\u0026title=Ready)](https://waffle.io/bbengfort/mosaic)\n\n[![Buenos Aires (Emirates Air-Line campaign)][buenos_aires.jpg]][buenos_aires_flickr]\n\n## Getting Started\n\nThe simplest way to install the mosaic tools is to use the `setup.py` script included with this repository as follows:\n\n    $ python setup.py install\n\nThis will install our file system analysis library to your Python site-pacakges as well as install a `mosaic` utility into your path. Of course you can also follow the development instructions below. In order to run a file system usage analysis on your home directory, use the `mosaic` utility as follows:\n\n    $ mosaic usage ~\n\nThis will recursively walk your home directory, counting different objects, and will write the analysis data structure to your current working directory.\n\n## Development\n\nHere are the brief instructions for getting this thing set up for development. First clone the repository and switch directories into it:\n\n    $ git clone git@github.com:bbengfort/mosaic.git\n    $ cd mosaic\n\nNote that you may need to fork this repository on Github into your own repository (and we will definitely accept pull requests). At this point you should set up your virtual environment. If you don't have `virtualenv` and `virtualenvwrapper` installed, please figure out how to set that up and configure it. Create the virtual environment and install the dependencies as follows. With `virtualenvwrapper`:\n\n    $ mkvirtualenv -a $(pwd) -r requirements.txt mosaic\n\nAnd with `virtualenv` alone:\n\n    $ virtualenv venv\n    $ source venv/bin/activate\n    (venv)$ pip install -r requirements.txt\n\nYou should also add the mosaic package to your Python path. There are several ways to do this, my favorite is to export a `.pth` file into the site-packages directory of the virtualenv. (I also tend to add the `bin/` directory to the virtualenv ``$PATH` as well).\n\nAt this point you should be able to run the tests and have them pass:\n\n    (mosaic)$ make test\n\nNow it's time to switch into the development branch:\n\n    (mosaic)$ git checkout origin develop\n\nAnd you can get started using the contribution details outlined below!\n\n### Contributing\n\nOur file system usage analysis utility and library is open source, but because this is a University of Maryland project, we would appreciate it if you would let us know how you intend to use the software (other than simply copying and pasting code so that you can use it in your own projects). If you would like to contribute (especially if you are a student at the University of Maryland), you can do so in the following ways:\n\n1. Add issues or bugs to the bug tracker: [https://github.com/bbengfort/mosaic/issues](https://github.com/bbengfort/mosaic/issues)\n2. Work on a card on the dev board: [https://waffle.io/bbengfort/mosaic](https://waffle.io/bbengfort/mosaic)\n3. Create a pull request in Github: [https://github.com/bbengfort/mosaic/pulls](https://github.com/bbengfort/mosaic/pulls)\n\nNote that labels in the Github issues are defined in the blog post: [How we use labels on GitHub Issues at Mediocre Laboratories](https://mediocre.com/forum/topics/how-we-use-labels-on-github-issues-at-mediocre-laboratories).\n\nIf you've contributed a fair amount, I'll give you direct access to the repository, which is set up in a typical production/release/development cycle as described in _[A Successful Git Branching Model](http://nvie.com/posts/a-successful-git-branching-model/)_. A typical workflow is as follows:\n\n1. Select a card from the [dev board](https://waffle.io/bbengfort/mosaic) - preferably one that is \"ready\" then move it to \"in-progress\".\n\n2. Create a branch off of develop called \"feature-[feature name]\", work and commit into that branch.\n\n        ~$ git checkout -b feature-myfeature develop\n\n3. Once you are done working (and everything is tested) merge your feature into develop.\n\n        ~$ git checkout develop\n        ~$ git merge --no-ff feature-myfeature\n        ~$ git branch -d feature-myfeature\n        ~$ git push origin develop\n\n4. Repeat. Releases will be routinely pushed into master via release branches, then deployed to the server.\n\nNote that pull requests will be reviewed when the Travis-CI tests pass, so including tests with your pull request is ideal!\n\n## About\n\nPart of my study of distributed file systems requires understanding what is on those file systems. Mosaic is a tool for performing that analysis.\n\n### Attribution\n\nThe photo used in this README, [Buenos Aires (Emirates Air-Line campaign)][buenos_aires_flickr] by [Charis Tsevis](https://www.flickr.com/photos/tsevis/) is used under a [CC BY-NC-ND 2.0](https://creativecommons.org/licenses/by-nc-nd/2.0/) creative commons license.\n\n[buenos_aires.jpg]: docs/images/buenos_aires.jpg\n[buenos_aires_flickr]: https://flic.kr/p/oCAg4Q\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbengfort%2Fmosaic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbbengfort%2Fmosaic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbengfort%2Fmosaic/lists"}