Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Status of this project #571

Open
ntarocco opened this issue Apr 4, 2023 · 9 comments
Open

Status of this project #571

ntarocco opened this issue Apr 4, 2023 · 9 comments

Comments

@ntarocco
Copy link

ntarocco commented Apr 4, 2023

Are you still maintaining this project? Is it something that we can rely on when building products?

@rkhwaja
Copy link
Contributor

rkhwaja commented Sep 26, 2023

Looks bad :( - the last commit was almost a year ago and the tests don't run against 3.12 even though there's a PR which apparently fixes it.

@gaby
Copy link

gaby commented Nov 9, 2023

Friendly ping @tfeldmann @willmcgugan @althonos @odgalvin

@tfeldmann
Copy link
Contributor

Yeah to be honest I'm migrating my projects away from pyfilesystem. Nowadays I mount remote filesystems locally and handle them with the standard library. For tests I migrated to pyfakefs instead of using MemoryFS.

@gaby
Copy link

gaby commented Nov 10, 2023

@tfeldmann I'm mainly interested in MemoryFs for creating temporary files, packaging files and reducing disk i/o for applications. I wonder if pyfakefs can be used as a regular lib outside of pytest.

@tfeldmann
Copy link
Contributor

I'm using it only with pytest at the moment. But something like this could work:

from pathlib import Path

from pyfakefs.fake_filesystem_unittest import patchfs


@patchfs()
def sometempstuff(fs):
    path = Path("./testfile.txt")
    print(type(path))
    path.write_text("Hello World")
    return (path.read_text(), path.stat().st_size)


text, size = sometempstuff()
print(f"{text}: {size}")
print(f"Exists in real FS: {Path('./testfile.txt').exists()}")

As I understand you need to be careful where you create the Path objects as you will either get a pathlib.Path or a FakePathlibModule.Path. This applies not only to pathlib but pretty much the entire python stdlib.

@gaby
Copy link

gaby commented Nov 10, 2023

@tfeldmann Thank you for the example, I will give it a try.

I also considered forking just the MemoryFS into a separate library, overall this package still works is just that there hasn't been any activity in 1 year, and several PR's ready to be merged

@bswck
Copy link

bswck commented Jan 23, 2024

@althonos

@frafra
Copy link

frafra commented Apr 12, 2024

You could have a look at fsspec: https://filesystem-spec.readthedocs.io/en/latest/api.html#implementations

@gaby
Copy link

gaby commented Apr 12, 2024

@frafra Thanks for sharing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants