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

feat: refactor valkey-docs clients/ directory #66

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

SoulPancake
Copy link

Fixes #18

Signed-off-by: Anuragkillswitch <70265851+Anuragkillswitch@users.noreply.github.com>
@SoulPancake
Copy link
Author

Mostly automated, @zuiderkwast
I have just revised it a little thinking of not modifying the description for redis stack ones
Can you take a look

@SoulPancake
Copy link
Author

I will do some manual self-reviews

Copy link
Contributor

@zuiderkwast zuiderkwast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SoulPancake Thanks!

We obviously can't change their names and their websites. I commented on those in the diff. (You have probably already fixed some of my comments.)

I'm starting to wonder whether it's a good idea just changing Redis to Valkey in these description.

@valkey-io/core-team We need to make a decision about what to do with these client descriptions.

The descriptions are changed to be mostly like this:

"name": "vRedis",
"description": "Valkey client using VB.NET.",

All of them probably work for Valkey, but they were originally written for Redis. They have Redis in their names and probably in their API.

I don't really know what we should do about then, but I'm considering some alternatives:

  1. Change like this PR does, i.e. to say they're all Valkey clients
  2. Keep the descriptions. They're Redis clients according to their authors. We can write on the webpage where we list all these Redis clients also work with Valkey. When there are clients which have Valkey in their names and APIs, then we can call those Valkey clients.
  3. Write that they are Redis clients that also work for Valkey, in each client's description. (This may require more manual work to make sure the grammar is correct.)

Please advice.

@@ -1,6 +1,6 @@
{
"name": "Redis COM client",
"description": "A COM wrapper for StackExchange.Redis that allows using Redis from a COM environment like Classic ASP (ASP 3.0) using vbscript, jscript or any other COM capable language.",
"description": "A COM wrapper for StackExchange.Valkey that allows using Valkey from a COM environment like Classic ASP (ASP 3.0) using vbscript, jscript or any other COM capable language.",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

StackExchange.Redis is the name of another client. I think you need to exclude Redis preceded by a dot.

@@ -1,6 +1,6 @@
{
"name": "Ballerina Redis Client",
"description": "Official Redis client for Ballerina language with the support for Redis clusters, connection pooling and secure connections.",
"description": "Official Valkey client for Ballerina language with the support for Valkey clusters, connection pooling and secure connections.",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it's an "official valkey client". They themselves say it's a Redis client.

@@ -1,4 +1,4 @@
{
"name": "redis-client",
"description": "extensible client library for Bash scripting or command-line + connection pooling + redis-cli"
"description": "extensible client library for Bash scripting or command-line + connection pooling + valkey-cli"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one provides a bash script that's actually called redis-cli.

@@ -1,6 +1,6 @@
{
"name": "carmine",
"description": "Simple, high-performance Redis (2.0+) client for Clojure.",
"description": "Simple, high-performance Valkey (2.0+) client for Clojure.",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no Valkey 2.0. It probably works also for Redis so that's what they mean here. I'm not sure, maybe we can say it's a client for Valkey and Redis 2.0+.

"name": "Tiny Redis",
"description": "A Redis client for D2. Supports pipelining, transactions and Lua scripting",
"homepage": "http://adilbaig.github.io/Tiny-Redis/",
"name": "Tiny Valkey",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can't change their name.

@@ -1,4 +1,4 @@
{
"name": "GLIDE for Redis",
"description": "General Language Independent Driver for the Enterprise (GLIDE) for Redis is an advanced multi-language Redis client that is feature rich, highly performant, and built for reliability and operational stability. GLIDE for Redis is supported by AWS."
"description": "General Language Independent Driver for the Enterprise (GLIDE) for Valkey is an advanced multi-language Valkey client that is feature rich, highly performant, and built for reliability and operational stability. GLIDE for Valkey is supported by AWS."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Their name is "GLIDE for Redis", also inside the description.

@@ -1,6 +1,6 @@
{
"name": "RedisCli",
"description": "Basic client passing a (batch of) command(s) to redis-cli, getting back a (list of) character vector(s).",
"description": "Basic client passing a (batch of) command(s) to valkey-cli, getting back a (list of) character vector(s).",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure it is actually passing commands to valkey-cli? I think valkey-cli didn't exist when this client was written.

@@ -1,4 +1,4 @@
{
"name": "redis-client",
"description": "Simple low level client for Redis 6+"
"description": "Simple low level client for Valkey 6+"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's no Valkey 6

@@ -1,4 +1,4 @@
{
"name": "redis-cluster-client",
"description": "A simple client for Redis 6+ cluster"
"description": "A simple client for Valkey 6+ cluster"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's no Valkey 6

@@ -1,6 +1,6 @@
{
"name": "OkRedis",
"description": "OkRedis is a zero-allocation client for Redis 6+ ",
"description": "OkRedis is a zero-allocation client for Valkey 6+ ",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's no Valkey 6

@SoulPancake
Copy link
Author

Should we mention Redis OSS in-place of Redis in these descriptions and add Valkey additionally to them?

Copy link
Member

@enjoy-binbin enjoy-binbin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Write that they are Redis clients that also work for Valkey, in each client's description. (This may require more manual work to make sure the grammar is correct.)

I personally prefer this.

@SoulPancake
Copy link
Author

A good bet for an automated way for this is

  1. Not touch the names and names in descriptions ( will manually review once )
  2. Let the description stay as it is but add " This is a Redis client that also works for Valkey."

What do you think?
Obviously a round of manual review can ensure there are no unexpected changes like my previous commit @zuiderkwast @enjoy-binbin

import os
import json

def modify_description(data):
    description = data['description']
    if 'valkey' in description.lower() or 'redis' in description.lower():
        if 'redis' in description.lower():
            additional_text = " This is a Redis client that also works for Valkey."
            if additional_text not in description:
                description += additional_text
        data['description'] = description
    return data

def process_json_files(directory):
    for root, dirs, files in os.walk(directory):
        for file in files:
            if file.endswith('.json'):
                file_path = os.path.join(root, file)
                with open(file_path, 'r+') as f:
                    data = json.load(f)
                    modified_data = modify_description(data)
                    f.seek(0)        # reset file position to the beginning.
                    json.dump(modified_data, f, indent=4)
                    f.truncate()     # remove remaining part of old data


@zuiderkwast
Copy link
Contributor

I think adding "This is a Redis client that also works for Valkey." for every client is a little repetitive. We can just write at the top of the client list page that all Redis clients work with Valkey.

@SoulPancake
Copy link
Author

Yea that's fair
In that case, we can essentially discard all changes here @zuiderkwast

@zuiderkwast
Copy link
Contributor

In that case, we can essentially discard all changes here

Yes, but can you leave this PR open to wait for other peoples opinions?

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

Successfully merging this pull request may close these issues.

Update references from Redis to Valkey
3 participants