minio-py
Apache AGE
minio-py | Apache AGE | |
---|---|---|
9 | 31 | |
767 | 709 | |
2.5% | - | |
8.3 | 8.5 | |
about 1 month ago | over 1 year ago | |
Python | C | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
minio-py
-
MinIO - Mock S3 in local development
Python
-
Upload data directly from the web into Minio Bucket
Alternatively you could look into presigned urls which can also be done in python.
-
Reading JSON files from stream into memory
The program is running a SQL query against a remote file. This example in MinIO docs demonstrates reading from the response stream. So far, so good.
- Help with making a request to the API?
-
How do you build a bare minimum feature?
>So far your instinct as product designer/manager/engineer might be to take what customers say they want at face value.
That would be the worst way to go about building anything. Taking solutions from customers as opposed to problems to identify jobs-to-be-done and reasons for non consumption isn't something someone who knows how to build products does.
The question then becomes how does someone who generally knows how to build the right things build the bare minimum feature, the original question and title of the post, given the constraints on time and resources cited in the first paragraphs.
One can do several things. For example, writing the description and code examples for a yet to be library and shop it around, see if it makes sense, then write the library.
That's what I did for example with this library: https://pypi.org/project/bmc after shopping it around here: https://github.com/minio/minio-py/issues/829#issuecomment-65...
I also do that for internal tools, libraries, SDKs. I'll send client code around and see if it makes sense to engineers. I also had non engineers who never coded use libraries to do something useful. I just give them a laptop and docs and see how they use the thing. If they can do it, I know programmers can.
To get back to the original problem, prioritizing can lead towards minimal features. We have a section called "Instances" in our issue templates. If a feature issue does not have several instances where the problem manifested for several people, we just won't do it. We need concrete examples of a problem being frequent and expensive / high impact (loss of work, or prevents work in the first place).
For example, I'll look at the analytics for our internal platform and see that my colleague who we built the thing for is not using it. Why, we ask. It turns out the Docker images are too large and take a lot of time. He loses patience. They contain several libraries that he does need.
We built a minimal image that can get him to start after 30 seconds instead of 2 minutes, and we saw usage increase.
Yesterday, I saw he was giving a demo using his local environement, not the product. I'll ask why. What's wrong. What sucks. Why did he use his laptop instead of the platform.
The general sentiment of the article is sound. Always observe, ask questions, look for the underlying problems and how frequently they happen, how expensive they are (as in what are they doing to solve that, is there someone working on it, does it cost opportunities, etc)
-
Ask HN: What point you keep while designing a website for MVP?
I used to write libraries and have non-technical people who never programmed follow the documentation and use them. My reference point is that if they could do it, then programmers will have no trouble doing it.
The next best thing is writing the doc before the actual code, and have others look at it and see if it makes sense, then I'd write the code that makes that possible.[0]
- [0]: https://github.com/minio/minio-py/issues/829#issuecomment-65...
-
Tell HN: Curb Your Necroposting Aversion
Yes. A case of it working well: https://github.com/minio/minio-py/issues/829
I found this issue for a problem I had with MinIO. I wrote a prototype: docs first and screencast on how the API would be. I then asked the other user if they had implemented it and if the API I was thinking about would suit them as it suited me. MinIO's CTO replied that it was the correct usage, but that it was not on the roadmap, which is understandable.
I then started implementing the actual commands I needed first (host, ls, etc). Some time later, someone tweeted at us and asked how they could use the library. I then put it on PyPI (Python Package Index). I checked upon that person recently and they told be they've been using it for months without a problem. The other person also had commented and said they've been using it.
https://pypistats.org/packages/bmc
It's a really, really, small library for a niche need, also asked people for feedback here: https://news.ycombinator.com/item?id=26540342
Now I'm getting feature requests on that issue, but I'll soon do it properly in a repo to make it easier for people.
-
Ask HN: How do I improve boring README page?
Thank you for these points. I agree. It's one of those tools that, if you have that problem, you know exactly why you need it.
This solves this issue: https://github.com/minio/minio-py/issues/829. MinIO is an S3 compatible object storage software. https://min.io/
Thanks again.
-
The Trouble with Cassandra: Why It's a Poor Choice for Object Store Metadata DB
We use it in anger at Splitgraph [0] to let people upload/download datasets and Postgres table snapshots (instead of storing them directly in S3).
Pros:
* Less platform-dependent. By self-managing it, we can also run deploys to GCP / Azure / Scaleway / other providers without writing a separate adapter for e.g. Azure Blob Storage.
* Python API [1] much more pleasant to use than boto3 (and can speak to normal S3). It doesn't do everything that boto3 does, but it supports everything we need (e.g. pre-signed URLs).
* minio server itself supports a large chunk of S3's functionality (e.g. SELECT API / AssumeRole / bucket versioning)
* Don't pay per request and for egress: this was a big deal since people might want to download large amounts of data from us (or make a bunch of small requests to download/upload a subset of data).
Cons:
* Have to manage own infrastructure. We run it on managed VMs so it's semi-managed, but we still have to provision block storage, set up backup policies etc.
* In a similar vein, scaling and availability all have to be DIY [2]. We haven't run into situations yet where Minio would be the bottleneck, but it might be something to keep in mind.
* Obviously not as seamless: you don't get things like Glacier or integration with other IAM.
[0] https://www.splitgraph.com/
[1] https://github.com/minio/minio-py
[2] https://docs.min.io/docs/distributed-minio-quickstart-guide....
Apache AGE
-
Alternatives to Neo4j Enterprise
What about the AGE extension for Postgres? https://age.apache.org/
-
Anyone Using Graph Databases in F#?
Waiting for Postgres to release theirs.
-
In MongoDB you can have duplicate items even if you have unique index
I think they are talking about the AGE extension https://age.apache.org
-
Age 1.0 – PostgreSQL extension for graph database
It's my understanding of the "incubation" period of Apache Software Foundation projects is to determine if they're able to actually execute the ASF process, and a bunch of other "project maturity metrics" (https://community.apache.org/apache-way/apache-project-matur...) of which AGE currently has some self-certification: https://age.apache.org/?l=maturity#
I recognize that's not exactly an answer to the question you asked, but I would be surprised if someone other than a project member knows a more forward-looking one
-
Looking for opinions: 95% of my Data fits extremely well in a Relational Database and 5% fits extremely well into a graph database. Should I consider splitting it between the two, or is that a silly idea?
Postgres has a graph extension: https://age.apache.org. This means you can keep all your data in PG and use both models.
-
Getting Started with Redis and RedisGraph
PostgreSQL with graph extension, developed by a team at Apache Software Foundation as Apache AGE. Apache AGE uses Gremlin.
-
Ask HN: Why are relational DBs are the standard instead of graph-based DBs?
The big thing that graph dbs provide is transitive traversals of join relationships.
The problem with graph dbs is trying to return something that is not a graph. Like a count. Or derived information. And which graph model do you use? There’s more than one. Lots of information is very poorly modeled in graph dbs. Temporal organization, for example.
Ultimately, graphs are a way to use relations. But relations allow you much more flexibility to associate information (subject to the issue of transitive relationship traversal).
Mixed graph-relational is perfectly reasonable. Reasonable start here: [https://age.apache.org/]
their actual landing page is actually better than the Github one. It's a translation layer(s) to allow querying Postgres using openCypher
-
Truth Behind Neo4j’s “Trillion” Relationship Graph
Depending on how one views "postgres", there are at least two extensions that allegedly do it: https://age.apache.org/ and the AgensGraph from which AGE derives
-
One table vs two table design
There's an extension to postgresql (I haven't used it, but I am familiar with node/edge tables in MSSQL) that allows you to do this: https://age.apache.org/
What are some alternatives?
Seaweed File System - SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding. [Moved to: https://github.com/seaweedfs/seaweedfs]
Neo4j - Graphs for Everyone
s3www - Serve static files from any S3 compatible object storage services (Let's Encrypt ready)
janusgraph - JanusGraph: an open-source, distributed graph database
msgraph-sdk-python-core - Microsoft Graph client library for Python
RedisGraph - A graph database as a Redis module
seaweedfs - SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding.
yugabyte-db - YugabyteDB - the cloud native distributed SQL database for mission-critical applications.
awesome-readme - A curated list of awesome READMEs
datalevin - A simple, fast and versatile Datalog database
minio-java - MinIO Client SDK for Java
datahike - A durable Datalog implementation adaptable for distribution.