A path library for Elixir inspired by Python path libraries




Build Status Build Status wercker status Circle CI Inline docs Build Status Coverage Status

A library for dealing with paths in Elixir largely inspired by Python's pathlib.

Getting Started

To use Radpath, add a dependency in your mix:

def deps do
  [ { :Radpath, github: "lowks/Radpath"}]

then mix deps.get fetches dependencies and compiles Radpath.


Developed whenever I can find the time.

Running Tests

Running tests against a stable release of Elixir defined by 'STABLE_ELIXIR_VERSION' in the Makefile:

make ci

Running tests against your system's Elixir:


Docs (Lite Version)

To list down files in a path:


or if you wanted to filter out certain files with pdf extensions:

Radpath.files("/home/lowks/Documents", "pdf")

Listing down only directories:


To create symlink:

Radpath.symlink(source, destination)

To create tempfile:

{status, fd, file_path}  = Radpath.mktempfile
IO.write fd, "hoho"
File.close fd
File.read! filepath
File.rm! filepath

This uses all the defaults

To customize the location plus the extension:

{_, fd, filepath} = Radpath.mktempfile(".log", "/home/lowks/Downloads")
IO.write fd, "hoho"
File.read! filepath
File.close! filepath

The default is ".log". Checkout the rest of the docs in the docs folder.

Run mix docs to generate a nice docs in a local folder or you can read them online: Radpath hexdocs

Check out test examples for usage.