Skip to main content

Simple module for easily isolating temporary file I/O

Project description

A simple module for easily isolating temporary file I/O to a directory. Ever developed a command-line tool which required a lot of file manipulation? Caching, perhaps? You don’t want to use the cwd and keeping all of your paths straight if you’re working outside of it can be a pain. This tool may be the pain-reliever you need!

A tale of sin and woe

Well, not really. I’ve just developed a bunch of tools that rely on various bits of temporary or isolated file I/O, and found myself implementing this pattern over and over again. Eventually, I got tired of doing it and decided to develop this handy module. Now I’m passing the savings on to you!

Compatibility

As far as I know, workdir is compatible with every version of Python from 2.6 through 3.5. It should also be compatible with all major platforms including Linux, OSX, and Windows. If not, let me know!

Installation

pip install workdir

Examples

Use it as a staging area for downloaded archives:

import workdir
import shutil
workdir.options.path = '~/.myfilecache'
with workdir.as_cwd():
    download_remote_archive('somefile')
    unpack_archive('somefile', 'somedir')
shutil.copy(workdir.path_to_file('somedir', 'unpackedfilefromarchive'),
            os.path.join('otherdir', 'unpackedfilefromarchive'))

Use it as a working directory in your git repo (added to .gitignore, of course):

import workdir
workdir.options.path = '.gitrepo.work'
workdir.sync()
with workdir.as_cwd():
    futz_with_source_tree()
    more_futzing()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

workdir-0.2.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

workdir-0.2-py2.py3-none-any.whl (3.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file workdir-0.2.tar.gz.

File metadata

  • Download URL: workdir-0.2.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for workdir-0.2.tar.gz
Algorithm Hash digest
SHA256 1635699fc208962f6cc5bfc722481042f0d4fd4df4cef0057a9a0c7a92cc73c9
MD5 4f65a9668a07e9a8c4d61c5454444692
BLAKE2b-256 dbaf7a2286237cdf4242180f7fe8c3174cd1c137b7b3badfa63f9366fb15daea

See more details on using hashes here.

File details

Details for the file workdir-0.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for workdir-0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 fe33ea6410d9662cceb2355e6912143035da634b5bb6341c373c2b962effe146
MD5 4b809c8ad8c37434cc1b0bfa7d0650c6
BLAKE2b-256 24ddb44d3b197b65f24e8d51b02944fe90b3b446d0d7b9c0542c0a6874a1a7ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page