Question

Does there exist an updated master list of contrib modules in some easily parsed format (csv, json, xml ... whatever) that I can use for quick reference to see active full projects (not sandbox)?

I'm particularly interested in a list of project names and their machine names. I'm working on a custom module that may turn into a contrib module and I'd like to make sure my project name and machine name aren't already in use.

I know I can search here:

https://www.drupal.org/project/project_module

But it'd save time if there was a list I could quickly reference. A quick Google search yielded no usable results in the first few pages.

Was it helpful?

Solution

It will be a pretty big list, you could get all packages known by composer which should contain pretty much everything

composer show drupal/* --all

OTHER TIPS

If you just need to know if a project machine name is already used, you can simply try the project URL for that machine name (https://www.drupal.org/project/<project machine name>). If you get a 404 error, it means the project doesn't exist, while a 403 error means the project exists but it's not visible to you.
This method doesn't help much if you want to know if there are projects with a similar machine name, if you don't want to try all the possible machine names that are too similar to the one you though to use.

What the Drupal.org REST API returns in https://www.drupal.org/api-d7/node.json?type=project_module contains much information, even more than you probably need, but it's quite difficult to parse.

There are feeds for:

Unfortunately, they list only the new modules.

There is also a view listing all the projects, but (as far as I can see) it doesn't have a feed associated.

Depending on how you parse that list (Do you have a script extracting the project names and machine names?) you could either use the Drupal.org REST API or the view listing all the projects. The latter allows also to filter between full projects, sandboxes, and core compatibility.

Drupal.org has an API that exposes all node data. Among those nodes, are project_module nodes that are contrib module projects. The API is using the RESTful Web Services module so you can request an XML or JSON of the data:

  • https://www.drupal.org/api-d7/node.json?type=project_module
  • https://www.drupal.org/api-d7/node.xml?type=project_module

Why do you try to make simple things so complicated? As I understood, you just want to create single project (module), am I right?

So why don't you just put your desired project machine name at the end of this url, to check, whether it is already taken or not: https://www.drupal.org/project/YOUR_COOL_PROJECT_MACHINE_NAME

Also you can reference this page, to see all project's archives (and their names, obviously) - https://ftp.drupal.org/files/projects/

Licensed under: CC-BY-SA with attribution
Not affiliated with drupal.stackexchange
scroll top