Coder Social home page Coder Social logo

scipycentral's Introduction

https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A https://img.shields.io/pypi/dm/scipy.svg?label=Pypi%20downloads https://img.shields.io/conda/dn/conda-forge/scipy.svg?label=Conda%20downloads

SciPy (pronounced "Sigh Pie") is an open-source software for mathematics, science, and engineering. It includes modules for statistics, optimization, integration, linear algebra, Fourier transforms, signal and image processing, ODE solvers, and more.

SciPy is built to work with NumPy arrays, and provides many user-friendly and efficient numerical routines, such as routines for numerical integration and optimization. Together, they run on all popular operating systems, are quick to install, and are free of charge. NumPy and SciPy are easy to use, but powerful enough to be depended upon by some of the world's leading scientists and engineers. If you need to manipulate numbers on a computer and display or publish the results, give SciPy a try!

For the installation instructions, see our install guide.

Call for Contributions

We appreciate and welcome contributions. Small improvements or fixes are always appreciated; issues labeled as "good first issue" may be a good starting point. Have a look at our contributing guide.

Writing code isn’t the only way to contribute to SciPy. You can also:

  • review pull requests
  • triage issues
  • develop tutorials, presentations, and other educational materials
  • maintain and improve our website
  • develop graphic design for our brand assets and promotional materials
  • help with outreach and onboard new contributors
  • write grant proposals and help with other fundraising efforts

If you’re unsure where to start or how your skills fit in, reach out! You can ask on the forum or here, on GitHub, by leaving a comment on a relevant issue that is already open.

If you are new to contributing to open source, this guide helps explain why, what, and how to get involved.

scipycentral's People

Contributors

kgdunn avatar ksurya avatar pv avatar

Stargazers

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

Watchers

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

scipycentral's Issues

Username displayed

Unvalidated user's name is displayed when submitted via email (as if they were signed in).

Sign in with email address

Don't necessarily require the username.

This can work, because both usernames and passwords are required to be unique.

URLs

URLs for items must be of the form:

http://..../N/M/slug

where N and M are integers

Broken links

If a user submits a link that becomes broken, send them a message after NN consecutive days of checks and ask them to update the link, or it will be removed from the site's search index.

About page

Add static HTML page about the site's purpose, how it works, where to find documentation for this source code, source code licensing, submitting bugs about the website

Tagging

Tagging model:

  • use a "through" model for the M2M relationship that records the user and datetime the tag was applied

Permalinks to code

Use the <link rel="bookmark" href="[Permalink URL]" /> syntax to create permalinks to:

  • Submissions:
    • Permalink for a given revision: done in 7387d0a
    • Permalink to the submission itself (i.e. to the latest revision) done in 7387d0a

Allow for cloning/forking of submissions

Background

  • Code snippets can be edited by other registered users at any time.
  • Code packages and modules can only be edited by the submitter. Another user must first fork the package, with a different title and description to make changes. The original submission will be attributed.
  • Code links to other sites can only be edited by the original submitter.

How it should work

Changes require a "change_comment" field to be filled in also.

Remove stale submissions

  • Submissions with is_displayed==False need to be removed after 7 days of being created

Add a queued function to do this automatically, every 24 hours.

Caching results

Create cache for

  • tag lookups: cache this lookup for 30 minutes; reset cache when a new tag is created
  • page views: we sort submissions by page views in pagehit.views.submission_pagehits. Cache result for NN hours.

Site: name

If Site name is example.com, change it to SciPy Central during syncdb

Allow for reseting password

User enters email address, sends a cryptic link to that email address only if it is registered in the database.

Informs user an email has been sent (whether the user exists or not).

Screenshots and avatars

Code (new Django model) to resize these and create thumbnails.

Screenshots are currently disabled. Will be added back later.

List of modules required

Have user select list of modules required to run code

  • Add a field in the revision model for this (for future use)
  • Can it be reliably auto-extracted from the uploaded code?

User activation and submission: simultaneous

An unregistered user can submit (by design). Email to that user must acknowledge submission AND provide activation link.

Only send activation link once, not with the second or subsequent submissions.

Reputation system

Have a reputation system for (a) code submissions and (b) site users, in the spirit of StackOverflow.

JSON Sphinx builder?

Use JSON builder, rather than Pickle builder in Sphinx. Also, do we really need to use Sphinx? What about docutils instead (less overhead, but we might loose some markup capability? Investigate.

Search capability

TODO:

Complete the https://github.com/toastdriven/django-haystack/ implementation to allow search through

  • code and link submissions (description text, title text, URL text)
  • tags,
  • user profiles text
  • comments (in the future)

Sanitize the description fields from markup. See previous sanitize_search_text(...) function in ucomment.

Alternatives considered, but not going to be used

Enhancement: have advanced search options

  • Tags tag:matrix or tag: "data analysis"
  • By author: author:sam or author:"George Samuels"
  • By author affiliation: affiliation:"McMaster University"
  • By license: license:bsd or license:cc0

Markup help

Show help for markup in description fields.

Complete markup-help static page.

Validating new users

After validating:

  • set the is_validated field
  • mark any of their previous submissionS as being validated also

Language model for non-Python languages

If we were to support languages other than Python you would require a language model

  • language
  • mime_type
  • language_code (for Pygments or which ever syntax highlighter is used)

Should have a method to return a lexer function, based on the language code

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.