Coder Social home page Coder Social logo

python-in-edu's People

Contributors

aeltanawy avatar anaypant avatar bk521234 avatar ewdurbin avatar julienpalard avatar lkuznia avatar meg-ray avatar mpant avatar pathunstrom avatar shaunagm avatar sijanonly 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

Watchers

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

python-in-edu's Issues

Revise resource form - Open Pull Request

Users must fill out a form to add a resource to the database. Some adjustments need to be made to the form including:

  • making it possible to select more than one option from the dropdowns
  • adding help text
  • making the "Requirements" and "License" prompts optional
  • adding the ability to add multiple links and give each link a name.
  • adding a field where users can specify whether the resource is an open source project, an open education resource, free, or freemium

Refactor modeling

Need to refactor modeling to allow for more flexible data management while also preventing the need for additional deployments when potential data changes. Ex. Need to create an Organization model so as new content is created, organizations can be created/linked to resources and can therefore be referenced for other capabilities (i.e. search, biography pages, etc.)

Add additional education content

Add additional toolkits and guides. If you have an idea for a guide that you'd like to create, it's a good idea to chat about it first either in the forum on the website or in the contributor slack channel. If you have an area of interest or expertise that you think other educators could benefit from create a toolkit or guide to go up on the "getting started" page. Note: expect a couple rounds of collaborative feedback if you are interested in taking this on.

Create interface for users to withdraw resource

Right now, users can submit resources and edit resources, but they can't delete or hide them. Right now there's a "withdrawn" status we could use for hiding, but only an admin can set it through the admin interface. This could be implemented by including the "status" field in "edit resource", but then you'd have to hide the "accepted" option so a user couldn't approve their own resource. It could also be implemented as an ajax call to a separate endpoint.

Display aggregated RSS feeds

Embed a scrolling view of the aggregated RSS feeds on the Community page, below the text and images that are currently there.

Fix Dependency of the Project.

Most of the Dependencies mentioned in requirements.txt are deprecated, so it is tough for someone to set up the project. Also, Some Issues also depend on this problem.

Dependent Issues on this Issue ( This needs to be solved after it they can resolve ).

#19
#26
#27
#55
#58

Other Interests or Ideas?

The current open issues are not comprehensive, but reflect current priorities. If there is another area that you would like to contribute to or an idea that you have, go ahead and submit a new issue for review!

Clean up file organization

File organization and naming is unexpected. Clean up, so that flask run works smoothly and contributors can find files more easily. Add documentation to read-me after completed.

jinja2.exceptions.TemplateNotFound: reset_password_request.html

:12:26 PM web.1 | return render_template('reset_password_request.html',
9:12:26 PM web.1 | File "/home/salvidor/dev/python/python-in-edu/.venv/lib/python3.8/site-packages/flask/templating.py", line 138, in render_template
9:12:26 PM web.1 | ctx.app.jinja_env.get_or_select_template(template_name_or_list),
9:12:26 PM web.1 | File "/home/salvidor/dev/python/python-in-edu/.venv/lib/python3.8/site-packages/jinja2/environment.py", line 930, in get_or_select_template
9:12:26 PM web.1 | return self.get_template(template_name_or_list, parent, globals)
9:12:26 PM web.1 | File "/home/salvidor/dev/python/python-in-edu/.venv/lib/python3.8/site-packages/jinja2/environment.py", line 883, in get_template
9:12:26 PM web.1 | return self._load_template(name, self.make_globals(globals))
9:12:26 PM web.1 | File "/home/salvidor/dev/python/python-in-edu/.venv/lib/python3.8/site-packages/jinja2/environment.py", line 857, in _load_template
9:12:26 PM web.1 | template = self.loader.load(self, name, globals)
9:12:26 PM web.1 | File "/home/salvidor/dev/python/python-in-edu/.venv/lib/python3.8/site-packages/jinja2/loaders.py", line 115, in load
9:12:26 PM web.1 | source, filename, uptodate = self.get_source(environment, name)
9:12:26 PM web.1 | File "/home/salvidor/dev/python/python-in-edu/.venv/lib/python3.8/site-packages/flask/templating.py", line 60, in get_source
9:12:26 PM web.1 | return self._get_source_fast(environment, template)
9:12:26 PM web.1 | File "/home/salvidor/dev/python/python-in-edu/.venv/lib/python3.8/site-packages/flask/templating.py", line 89, in _get_source_fast
9:12:26 PM web.1 | raise TemplateNotFound(template)
9:12:26 PM web.1 | jinja2.exceptions.TemplateNotFound: reset_password_request.html

Fix the Registration Form.

The Current Registration form uses the Default Template of the Django Registration form. It is good if we'll Update it to a newer design.

Beautify the design

Looking for contributors interested in design and/or accessibility to take the site beyond a basic bootstrap framework template.

Security Fix - High Priority

Links to external URL route internally. Ensure that links are fully qualified, so that they don't go through Django's internal router.

Fix resource list view - Open Pull Request

I was checking in on the site to see how it was doing, and noticed that the resource list is displaying weirdly (the full features of the data table are lost). I did a bit of digging, and I think it may be due to this update where resource.use_type was added as a data-child in the header but not in the data for each row (see this function called here). Here's the relevant docs.

Add a dockerfile for better and easy setup

The Dockerfile will define the necessary dependencies, configurations, and runtime environment for our backend project. With Docker, developers can easily spin up containers that encapsulate the entire project stack, including the required libraries, frameworks, and services. This approach eliminates the need for manual setup steps and minimizes the likelihood of configuration discrepancies or compatibility issues.

Fix Resource Filters

On the Resource page, the filters are not displaying. Debug, so that they display when you click the "Show Filters" button.

Update Resource Database Model for Multiple URLs

Update the database model for resources to accept multiple sub-URLs associated with the same resource. For example, one website, may include an online text editor, lesson plans, and an education-related library. Right now, there are fields for multiple URLs in the add resource form, but no associations.

Improve installation instructions - fix errors

When attempting to clone and install the project as instructed in the README, on a MacOS system, I first ran into an error related to installing psycopg2:

Collecting psycopg2==2.8.6 (from -r requirements.txt (line 16))
  Using cached https://files.pythonhosted.org/packages/fd/ae/98cb7a0cbb1d748ee547b058b14604bd0e9bf285a8e0cc5d148f8a8a952e/psycopg2-2.8.6.tar.gz
    ERROR: Command errored out with exit status 1:
     command: /Users/martin/Documents/projects/python-in-edu/.venv/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/52/0zsd69115l57tf4st_1fw69w0000gn/T/pip-install-inoib_0k/psycopg2/setup.py'"'"'; __file__='"'"'/private/var/folders/52/0zsd69115l57tf4st_1fw69w0000gn/T/pip-install-inoib_0k/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
         cwd: /private/var/folders/52/0zsd69115l57tf4st_1fw69w0000gn/T/pip-install-inoib_0k/psycopg2/
    Complete output (23 lines):
    running egg_info
    creating pip-egg-info/psycopg2.egg-info
    writing pip-egg-info/psycopg2.egg-info/PKG-INFO
    writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt
    writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt
    writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt'
    
    Error: pg_config executable not found.
    
    pg_config is required to build psycopg2 from source.  Please add the directory
    containing pg_config to the $PATH or specify the full executable path with the
    option:
    
        python setup.py build_ext --pg-config /path/to/pg_config build ...
    
    or with the pg_config option in 'setup.cfg'.
    
    If you prefer to avoid building psycopg2 from source, please install the PyPI
    'psycopg2-binary' package instead.
    
    For further information please check the 'doc/src/install.rst' file (also at
    <https://www.psycopg.org/docs/install.html>).
    
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

This is fixed by installing Postgres.

I suggest to add a note to the README that contributors need to have Postgres installed to be able to run the project locally.

Further, after successfully installing Postgres and adding it to my PATH, I ran into another error related to a missing installation of libjpeg:

Installing collected packages: Pillow, olefile, django-spirit, gunicorn, python-dotenv
  Running setup.py install for Pillow ... error
    ERROR: Command errored out with exit status 1:
     command: /Users/martin/Documents/projects/python-in-edu/.venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/52/0zsd69115l57tf4st_1fw69w0000gn/T/pip-install-6bqer60n/Pillow/setup.py'"'"'; __file__='"'"'/private/var/folders/52/0zsd69115l57tf4st_1fw69w0000gn/T/pip-install-6bqer60n/Pillow/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/52/0zsd69115l57tf4st_1fw69w0000gn/T/pip-record-1rw02kjt/install-record.txt --single-version-externally-managed --compile --install-headers /Users/martin/Documents/projects/python-in-edu/.venv/include/site/python3.8/Pillow
         cwd: /private/var/folders/52/0zsd69115l57tf4st_1fw69w0000gn/T/pip-install-6bqer60n/Pillow/
    Complete output (174 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.14.6-arm64-3.8
    creating build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/MpoImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageMode.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/PngImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/XbmImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/PcxImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/SunImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageFile.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/SpiderImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/TarIO.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/FitsStubImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/MpegImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/BdfFontFile.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/GribStubImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageStat.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/PixarImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/GimpPaletteFile.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageColor.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ContainerIO.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/MspImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/MicImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/_version.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImtImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/GifImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/PalmImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageQt.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageMath.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/PaletteFile.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/FontFile.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/PdfParser.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ExifTags.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageCms.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/FpxImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageChops.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/BufrStubImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/PSDraw.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/PcdImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageFilter.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageDraw2.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImagePath.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/DcxImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/__init__.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/JpegPresets.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/Hdf5StubImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/features.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageDraw.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/GimpGradientFile.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageWin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/IcoImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/_tkinter_finder.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/EpsImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/TgaImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageMorph.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/Jpeg2KImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/WalImageFile.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/PcfFontFile.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/BlpImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageTk.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/GbrImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageOps.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/PdfImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageShow.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageEnhance.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/WmfImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageGrab.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/WebPImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/FliImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/TiffTags.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/CurImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/_util.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/GdImageFile.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/TiffImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/IptcImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImagePalette.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/BmpImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageTransform.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/IcnsImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/McIdasImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/XpmImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/DdsImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageSequence.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/PyAccess.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/_binary.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/Image.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/__main__.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/XVThumbImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/SgiImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/PsdImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/JpegImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/ImageFont.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/PpmImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    copying src/PIL/FtexImagePlugin.py -> build/lib.macosx-10.14.6-arm64-3.8/PIL
    running egg_info
    writing src/Pillow.egg-info/PKG-INFO
    writing dependency_links to src/Pillow.egg-info/dependency_links.txt
    writing top-level names to src/Pillow.egg-info/top_level.txt
    reading manifest file 'src/Pillow.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching '*.c'
    warning: no files found matching '*.h'
    warning: no files found matching '*.sh'
    warning: no previously-included files found matching '.appveyor.yml'
    warning: no previously-included files found matching '.coveragerc'
    warning: no previously-included files found matching '.editorconfig'
    warning: no previously-included files found matching '.readthedocs.yml'
    warning: no previously-included files found matching 'codecov.yml'
    warning: no previously-included files matching '.git*' found anywhere in distribution
    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    warning: no previously-included files matching '*.so' found anywhere in distribution
    no previously-included directories found matching '.ci'
    writing manifest file 'src/Pillow.egg-info/SOURCES.txt'
    running build_ext
    
    
    The headers or library files could not be found for jpeg,
    a required dependency when compiling Pillow from source.
    
    Please see the install instructions at:
       https://pillow.readthedocs.io/en/latest/installation.html
    
    Traceback (most recent call last):
      File "/private/var/folders/52/0zsd69115l57tf4st_1fw69w0000gn/T/pip-install-6bqer60n/Pillow/setup.py", line 861, in <module>
        setup(
      File "/Users/martin/Documents/projects/python-in-edu/.venv/lib/python3.8/site-packages/setuptools/__init__.py", line 145, in setup
        return distutils.core.setup(**attrs)
      File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/Users/martin/Documents/projects/python-in-edu/.venv/lib/python3.8/site-packages/setuptools/command/install.py", line 61, in run
        return orig.install.run(self)
      File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/distutils/command/install.py", line 561, in run
        self.run_command('build')
      File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/distutils/command/build.py", line 135, in run
        self.run_command(cmd_name)
      File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/Users/martin/Documents/projects/python-in-edu/.venv/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 84, in run
        _build_ext.run(self)
      File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/distutils/command/build_ext.py", line 340, in run
        self.build_extensions()
      File "/private/var/folders/52/0zsd69115l57tf4st_1fw69w0000gn/T/pip-install-6bqer60n/Pillow/setup.py", line 698, in build_extensions
        raise RequiredDependencyException(f)
    __main__.RequiredDependencyException: jpeg
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/52/0zsd69115l57tf4st_1fw69w0000gn/T/pip-install-6bqer60n/Pillow/setup.py", line 914, in <module>
        raise RequiredDependencyException(msg)
    __main__.RequiredDependencyException:
    
    The headers or library files could not be found for jpeg,
    a required dependency when compiling Pillow from source.
    
    Please see the install instructions at:
       https://pillow.readthedocs.io/en/latest/installation.html
    
    
    ----------------------------------------
ERROR: Command errored out with exit status 1: /Users/martin/Documents/projects/python-in-edu/.venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/52/0zsd69115l57tf4st_1fw69w0000gn/T/pip-install-6bqer60n/Pillow/setup.py'"'"'; __file__='"'"'/private/var/folders/52/0zsd69115l57tf4st_1fw69w0000gn/T/pip-install-6bqer60n/Pillow/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/52/0zsd69115l57tf4st_1fw69w0000gn/T/pip-record-1rw02kjt/install-record.txt --single-version-externally-managed --compile --install-headers /Users/martin/Documents/projects/python-in-edu/.venv/include/site/python3.8/Pillow Check the logs for full command output.

I needed to install homebrew in order to install jpeg to finally get to a point where python -m pip install -r requirements.txt succeeded without an error.


tl;dr: On a new MacOS machine, there's quite some additional setup necessary just to get the project to run. I'm not exactly sure why (I've worked on Django projects on this computer before), but it would be helpful to add some pointers to the README file to make it more accessible for newcomers.

Add favicon to site - Open Pull Request

Favicons are set in the head of the html file, which right now is in the template file full_width_base.html. I believe there's an existing favicon that's just the Python logo, in one of the other PSF repositories or on the website. So to do this task, please track down the icon (or make a cool new one), add it to the static_sources, and stick a reference to it via Django's template tags in full_width_base.html.

Refactor forms

Need to refactor forms to use django OOB forms capablilities.

Flags for resources

People may want to address something about a resource - request revisions, classify it as a different grade level, etc. People can use the forums for this for now, but we could also provide some sort of flagging system.

Migrate to Poetry

With Poetry, we aim to streamline and simplify our project's development workflow, enhance package management, and improve overall project stability. By migrating our Python project to Poetry, we can improve developer productivity, ensure consistent development environments across team members, and enhance collaboration through simplified dependency management and build processes.

Improve Installation Instructions

Create and link to a version of installation instructions for a complete beginner (ie. someone who has never done a local install before). We anticipate having contributors that are more education content-focused. This will help make the project more inclusive for those contributors.

Clean up requirements and verify direct project dependencies

The current way we're managing dependencies in our requirements.txt file is creating some issues since it requires all contributors to have a production environment ready locally before they can get started.

For example, we currently use SQLite in development and Postgres in production, but because psycopg2 is in our requirements.txt file new contributors are discovering that they need to have Postgres installed before they can continue forward (see #22 as an example of this).

This creates an unnecessary barrier to entry and makes the contribution process more difficult than it needs to be.

I propose we begin to fix this by:

  • Verifying the specific packages the application directly depends on
  • Breaking up the current requirements.txt into base, production, and potentially dev specific requirements files (which will help simplify getting a dev environment set up for new contributors).
  • Ensuring that we're only declaring our project's direct dependencies and allowing pip to handle dependency resolution for sub-dependencies

design data model for content management system

The site will have a robust content management system for open education resources related to Python. A fun task for contributors interested in playing with data structures and tackling complex data sets.

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.