Giter Club home page Giter Club logo

crate-site's People

Contributors

dstufft avatar lukeman avatar mjtamlyn avatar msabramo avatar saippuakauppias avatar sclaughl avatar toastdriven avatar xordoquy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

crate-site's Issues

[Feature Request] API for obtaining requirements of a package

From crate.io website, crate.io is planning to provide api to access information about packages, it would be great if the api can provide dependencies. For certain packages requirements.txt is needed(web)and others mention in setup.py, if crate.io can provide both as json list, it would be great.

Allow sorting the releases tab chronologically

Currently, the releases tab on package detail pages, sorts releases by version number. While this is a sensible default, chronological sort order would also be useful.

Making the tab's contents into an actual table might help as well, especially if any sort of JS or AJAX driven "click column to sort-by" behavior is easy to obtain OOB. (Though a more static-ish subnav or whatnot that allows toggling between the two sort orders, would doubtless suffice too, if simpler to implement.)

P.S. crate.io is awesome, @dstufft is awesome. 🍰

Languages

I think language names shouldn't be translated. Imagine if site currently switched to russian suddenly and someone from brazil wanna switch to portuguese and can't find it coz they don't know russian word "португальский" which means portuguese. Languages should be defined in settings and listed in native languages. I think so.
Example https://github.com/ImaginationForPeople/imaginationforpeople/blob/master/settings.py#L46
P.S languages in english or each language is written in its language will work best.

Annoucement feature

It might useful to provide a simple announcement system to allow maintainers to announce new directions, backward incompatibilities...

Author Filter

It'd be fantastic if I could click on an author's name on a package's info page and get a page with a list of all the packages that person has authored.

Note, I don't care about the pypi user. I care about the author string.

Misc Pages

Need some Informational Pages

  • About The Project
  • Tech Stack
  • Others?

Make Crate Generic and Split It Out

Currently "Crate" is a big monolithic Django Site. It would be better if instead all the parts that build "Crate the app" were made more generic, and split out into their own repos/projects.

Crate.io's repo would then just become the parts that are specific to Crate.io (settings, urlconf, etc), while all the logic lives inside the generic app.

Show Dependencies

Parse dependencies from requirements.txt and/or setup.py, list them and directly link them to the corresponding crate.io pages.

"Works For" Information on Packages

It would be nice to allow people to submit wether a package worked or didn't work for them on a particular Python Version.

Possibly also support for versions of popular frameworks?

Potential issues include needing to wait until we have enough votes (How many votes?) before displaying Works/Doesn't Work Information for a version.

SharedLock issues when sync is running

Context: Ubuntu 11.10, postgresql.

Here's an example of the stacktrace I can see when running the sync:

Traceback (most recent call last):
File "/home/django/crate/local/lib/python2.7/site-packages/celery/execute/trace.py", line 47, in trace
return cls(states.SUCCESS, retval=fun(_args, *_kwargs))
File "/home/django/crate/local/lib/python2.7/site-packages/celery/app/task/init.py", line 247, in call
return self.run(_args, *_kwargs)
File "/home/django/crate/local/lib/python2.7/site-packages/celery/app/init.py", line 175, in run
return fun(_args, *_kwargs)
File "/home/django/crate/crate-site/crate_project/apps/pypi/tasks.py", line 336, in process_release_data
release.save()
File "/home/django/crate/crate-site/crate_project/apps/packages/models.py", line 177, in save
return super(Release, self).save(_args, *_kwargs)
File "/home/django/crate/src/django/django/db/models/base.py", line 464, in save
self.save_base(using=using, force_insert=force_insert, force_update=force_update)
File "/home/django/crate/src/django/django/db/models/base.py", line 566, in save_base
created=(not record_exists), raw=raw, using=using)
File "/home/django/crate/src/django/django/dispatch/dispatcher.py", line 172, in send
response = receiver(signal=self, sender=sender, **named)
File "/home/django/crate/crate-site/crate_project/apps/packages/models.py", line 367, in version_ordering
Release.objects.filter(pk=release.pk).update(order=i)
File "/home/django/crate/src/django/django/db/models/query.py", line 533, in update
rows = query.get_compiler(self.db).execute_sql(None)
File "/home/django/crate/src/django/django/db/models/sql/compiler.py", line 986, in execute_sql
cursor = super(SQLUpdateCompiler, self).execute_sql(result_type)
File "/home/django/crate/src/django/django/db/models/sql/compiler.py", line 818, in execute_sql
cursor.execute(sql, params)
File "/home/django/crate/src/django/django/db/backends/util.py", line 40, in execute
return self.cursor.execute(sql, params)
File "/home/django/crate/src/django/django/db/backends/postgresql_psycopg2/base.py", line 52, in execute
return self.cursor.execute(query, args)
DatabaseError: deadlock detected
DETAIL: Process 30521 waits for ShareLock on transaction 1220140; blocked by process 30523.
Process 30523 waits for ShareLock on transaction 1220141; blocked by process 30521.
HINT: See server log for query details.

Link to package home page missing

On package pages (crate.io/packages/<name>/), I can't find links to home pages of packages.

On PyPI package pages (pypi.python.org/pypi/<name>), the link is shown next to the label "Home Page:" in the package metadata section at the bottom of the page.

Outdated Packages

Allow pointing to a github (or just git?) and possible bitbucket (hg?) repository which will be looked at for requirements files (buildout too? How does buildout work?) and will give notification whenever one of the packages your project uses has been updated.

Saved Searches / Search Enchancement

It would be nice to record what people are searching for, what results they got back, and what the ultimately ended up clicking on.

We could then use this data to determine how well we are doing in our search, and what could be done to improve it.

Personal categories

Independently of #74 add personal category. So, I can sort all my favorite packages by my own category, like: flask packages, django packages, work, beta, and other.

Stats Porn

Try and implement good stats screens for package owners with some awesome stat information.

Tests

Crate currently has No tests. This needs to be rectified.

Documentation

Document Crate (and eventually all the apps once those are split out)

Personal dashboard

Create personal dashboard (like github dashboard), where user can watch all activity of favorite packages (new version and other). And add RSS for personal dashboard. So, I just add packages to "My favorite" and can track all releases by RSS feeds.

Trove Pages

Create Trove Specific Pages that can be used to discover packages that are associated with a certain Trove.

Top lists

Will be greate to see top lists: top 10, top 100 regarding to favorite action. So, I'll can see all popular packages, which people likes.

Web Hooks

Allow people to register to receive web hooks. Any action of significance should result in a webhook being fired.

Thoughts:

  • Unique ID per Event
  • Receiver should confirm that they got it
  • Retry a number of times until we give up.

Allow Package GA

Allow package authors to add Google Analytics to their package packages.

Monitoring / Alerts

Currently there is a Free Pingdom Account that alerts when Crate.io goes down. This should either be upgraded and the alerts made more comprhensive, or Nagios (or another software) should be employed for the same purpose.

Localization

Need to all the strings and formats marked for i18n and create projects on Transifex to allow people to contribute localizations in their own language.

Parse AWS Download Stats

Need to Parse the AWS Download stats from S3 (Stored in a Bucket).

Once we have this data we also need to make it available at pypi.crate.io. This is the last item
needed to be a compliant mirror with PyPI.

openid with gmail always asks to choose a crate.io username

I am able to put in my google open id (url to profile page) which forwards me to google to authorize crate.io. This seems to work successfully and the first time I'm able to choose a username and login. Once I log out and try to log back in, however, the exact same process occurs - I can login using openid but crate.io always asks me to choose a username so it seems it's not able to link my gmail openid to my local crate.io account...

Refactor Download Count Sync

Currently Download Count Sync happens every 10 minutes, it grabs the 150 pacakges that were synced the longest time ago and it gets a list of files for all of those packages and checks with PyPI.

Problems:

  • Inefficient
  • Not as Friendly to PyPI as it could be
  • Can generate up to 2k Celery Tasks

Ideas:

  • There is a stats interface that records daily stats (and monthly) for PyPI
    • These are integrated in multiple times a days
    • How to switch over, these are daily stats not totals?

Per-user 'starred' packages or 'personal package toolbox'

I maintain a list of python packages that I consider part of my 'standard toolbox'; libraries I consider 'best of breed' for a given task.

It would be great if I could manage this list on crate.io. Something as simple a a toggleable star per package and a page which lists my favourite packages would be useful.
Given this basic functionality, further features could be trivial to implement:

  • custom rss feed for favourite updates
  • one-click download of all favourite packages in a .zip

Would anyone else be interested in this? Has anything similar been proposed? I'm willing to have a crack at implementing something if there is any interest.

"Watch" Packages + Activity Stream

Allow users to Watch particular packages. From their watched packages they can get an Activity Stream of changes (Available in RSS format)

Support uploads

Any chance you will support uploads? pythonpackages.com would like to support releases-to-multi-indexes and would love to test with crate.io,

Mirror Packages not hosted on PyPI

It would be nice for crate to provide a Mirror of Packages not hosted on PyPI.

Issues:

  • Legality, Not all packages have a license that allows redistribution
    • Can Trove Classifiers Be Used to Determine the License?
  • No Change Log; Package Author could Change Release and We won't know.
  • Ill Will; Package Authors Arn't hosting on PyPI for a reason (Why?) Would doing this cause friction?

Allow Associating PyPI account with Crate Account

This can already be done using OpenID, but we need to take it further and once a PyPI openid is saved on Crate make the UX and the machinery to say that user X on Crate is equivalent to user Y on PyPI

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.