Giter Site home page Giter Site logo

dvpwa's Introduction

DVPWA -- Damn Vulnerable Python Web Application

StandWithUkraine

Description

DVPWA was inspired by famous dvwa project and bobby-tables xkcd comics. The purpose of this project is to implement real-world like application in Python with as many vulnerabilities as possible while having a good design and intentions.

This project was used as demonstration of vulnerabilities during my Web vulnerabilities presentation at EVO Summer Python Lab'17.

Running

Docker-compose

DVPWA is packaged into docker container. All the dependencies described in docker-compose.yml. You can easiliy run it and its dependencies using a simple command:

docker-compose up

Then visit http://localhost:8080 in your favorite browser.

To rebuild the container, please use ./recreate.sh script, which will delete old container and create new from scratch. This script is primarly used in order to rebuild application image.

If you have screwed up the database (i.e. with DROP TABLE students;, please issue the following commands to recreate database container:

docker-compose stop postgres
docker-compose rm  # make sure, you remove only images you want to recreate
docker-compose up postgres  # recreate container and run

Natively

If for some reasons you cannot use docker or docker-compose you can run the application on your host system.

Requirements

  • Python3.6.2
  • PostgreSQL database for data storage
  • Redis for session storage

Installing and running

# Install application dependencies.
pip install -r requirements.txt

# Set up postgresql database Further I assume your db user
# is named postgres and database name is sqli

# Create database schema by applying migration 000
psql -U postgres --d sqli --host localhot --port 5432 \
     -f migrations/000-init-schema.sql

# Load fixtures into database
psql -U postgres --d sqli --host localhot --port 5432 \
     -f migrations/001-fixtures.sql

# Modify config/dev.yaml
cat config/dev.yaml <<EOF
db:
  user: postgres
  password: postgres
  host: localhost
  port: 5432
  database: sqli

redis:
  host: localhost
  port: 6379
  db: 0

app:
  host: 0.0.0.0
  port: 8080
EOF

# Run application
python run.py

Then visit http://localhost:8080 in your favorite browser.

Vulnerabilities

Session fixation

Steps to reproduce

  1. Open http://localhost:8080.
  2. Open browser devtools.
  3. Get value for AIOHTTP_SESSION cookie.
  4. Open http://localhost:8080 in the incognito tab.
  5. In the incognito tab, change cookie value to the one, obtained in step 3.
  6. In the normal tab (the one from steps 1-3) log in as any user.
  7. Refresh page in the incognito tab.

Result

You are now logged in the incognito tab as user from step 6 as well.

Mitigation

Rotate session identifiers on every single login and logout. Rotate session identifiers on every user_id and/or permissions change.

SQL Injection

Steps to reproduce

  1. Open http://localhost:8080.
  2. Log in as superadmin:superadmin.
  3. Go to http://localhost:8080/students/.
  4. Add new student with the name Robert'); DROP TABLE students CASCADE; --.

Result

Table "students" is deleted from database. You observe error message, which says: _"relation "students" does not exist"_.

Mitigation

Never construct database queries using string concatenation. Use library-provided way to pass parameters and query separated. Use ORM.

Stored XSS

Steps to reproduce

  1. Open http://localhost:8080/courses/1/review.

  2. Fill in review content with the following payload:

    <b>Is this bold?</b> Yes!
  3. Submit the review by clicking "Save" button.

  4. Observe the newly created review. Note that text "Is it bold?" is bold, which means review content is probably neither sanitized on input nor escaped on output.

  5. Open http://localhost:8080/courses/1/review.

  6. Fill in review content with the following payload:

    <script>
      alert('I am a stored XSS. Your cookies are: ' + document.cookie);
    </script>
  7. Submit the review by clicking "Save" button.

  8. Observe the result.

Result

Now whenever you load http://localhost:8080/courses/1, you will receive an alert, which displays your cookie. You can play with different ways to inject your custom javascript to the page now: event handlers (i.e. <img src="nonexistent" onerror="alert(document.cookie)">, links with javascript targets, etc.

Mitigation

Escape all untrusted content, when you output it. In this example, to mitigate this kind of attack you can set autoescape=True when setting up templating engine (Jinja2) in sqli/app.py. You can also sanitize text, when users input it and prohibit different kinds of code injection.

Bad choice for storing passwords

Description

As per check_paswword function and database initialization script, passwords are not stored in the database themselves, but their md5 hashes.

Here are the problems with such approach:

  • As hash function produces same output for same input, same passwords will produce the same hash. Passwords are vulnerable to statistical analysis: it is possible to determine how many people use the same password, how popular the password is, etc:

    sqli=# select pwd_hash, array_agg(username), count(*)
    sqli-# from "users"
    sqli-# group by pwd_hash
    sqli-# order by count(*) desc;
                 pwd_hash             |   array_agg    | count
    ----------------------------------+----------------+-------
     5f4dcc3b5aa765d61d8327deb882cf99 | {j.doe,s.king} |     2
     1da0bac388e8e0409a83e121e1af6ef4 | {p.parker}     |     1
     17c4520f6cfd1ab53d8745e84681eb49 | {superadmin}   |     1
    (3 rows)
  • Md5 is considered quite a weak hash, thus collisions can be easily found. Moreover, this hash is easy to bruteforce, as well as a lot of rainbow tables exists for md5. For example, CrackStation website can be used for such purposes.

Mitigation

Password themselves should never be stored in database. Special hash functions for passwords exist, such as argon2, bcrypt, pbkdf2. These functions should be used instead of plain text passwords or weak hashes like md5, or fast hash functions like sha1, sha2. For examples, see password hashing section on PyNaCL documentation.

Cross-site request forgery

TBA

dvpwa's People

Contributors

anxolerd 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

dvpwa's Issues

Installation not working?

Hi @anxolerd ,

I was trying to setup this project locally with pip3 install -r requirements.txt. I'm getting below error

(venv) rohitcoder@Rohits-MacBook-Pro dvpwa % pip install -r requirements.txt
Collecting aiohttp-jinja2==1.1.0
  Using cached aiohttp_jinja2-1.1.0-py3-none-any.whl (10 kB)
Collecting aiohttp-session==2.7.0
  Using cached aiohttp_session-2.7.0-py3-none-any.whl (14 kB)
Collecting aiohttp==3.5.3
  Using cached aiohttp-3.5.3-py3-none-any.whl
Collecting aiopg==0.15.0
  Using cached aiopg-0.15.0-py3-none-any.whl (31 kB)
Collecting aioredis==1.2.0
  Using cached aioredis-1.2.0-py3-none-any.whl (63 kB)
Collecting async-timeout==3.0.1
  Using cached async_timeout-3.0.1-py3-none-any.whl (8.2 kB)
Collecting attrs==18.2.0
  Using cached attrs-18.2.0-py2.py3-none-any.whl (34 kB)
Collecting chardet==3.0.4
  Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting hiredis==0.3.1
  Using cached hiredis-0.3.1-cp310-cp310-macosx_13_0_arm64.whl
Collecting idna==2.8
  Using cached idna-2.8-py2.py3-none-any.whl (58 kB)
Collecting jinja2==2.10
  Using cached Jinja2-2.10-py2.py3-none-any.whl (126 kB)
Collecting markupsafe==1.1.0
  Using cached MarkupSafe-1.1.0-cp310-cp310-macosx_13_0_arm64.whl
Collecting multidict==4.5.2
  Using cached multidict-4.5.2-py3-none-any.whl
Collecting psycopg2==2.7.6.1
  Using cached psycopg2-2.7.6.1.tar.gz (427 kB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: pyyaml==3.13 in ./venv/lib/python3.10/site-packages (from -r requirements.txt (line 15)) (3.13)
Collecting trafaret-config==2.0.2
  Using cached trafaret_config-2.0.2-py3-none-any.whl
Requirement already satisfied: trafaret==1.2.0 in ./venv/lib/python3.10/site-packages (from -r requirements.txt (line 17)) (1.2.0)
Collecting yarl==1.3.0
  Using cached yarl-1.3.0-py3-none-any.whl
Installing collected packages: psycopg2, chardet, attrs, trafaret-config, multidict, markupsafe, idna, hiredis, async-timeout, aiopg, yarl, jinja2, aioredis, aiohttp, aiohttp-session, aiohttp-jinja2
  DEPRECATION: psycopg2 is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for psycopg2 ... error
  error: subprocess-exited-with-error
  
  × Running setup.py install for psycopg2 did not run successfully.
  │ exit code: 1
  ╰─> [141 lines of output]
      /Users/rohitcoder/Desktop/dvpwa/venv/lib/python3.10/site-packages/setuptools/config/setupcfg.py:508: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
        warnings.warn(msg, warning_class)
      running install
      /Users/rohitcoder/Desktop/dvpwa/venv/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_py
      creating build
      creating build/lib.macosx-13-arm64-cpython-310
      creating build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/_json.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/extras.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/errorcodes.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/tz.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/_range.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/_ipaddress.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/__init__.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/psycopg1.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/extensions.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/sql.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/pool.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      creating build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_transaction.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/dbapi20.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_extras_dictcursor.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_with.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_types_basic.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_bug_gc.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_module.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_psycopg2_dbapi20.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_async.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_dates.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_async_keyword.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/testutils.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_connection.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_copy.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_bugX000.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/__init__.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_cursor.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_types_extras.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_sql.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_fast_executemany.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_green.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_ipaddress.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_cancel.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_quote.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/testconfig.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_errcodes.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_replication.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_lobject.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_notify.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/dbapi20_tpc.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      running build_ext
      building 'psycopg2._psycopg' extension
      creating build/temp.macosx-13-arm64-cpython-310
      creating build/temp.macosx-13-arm64-cpython-310/psycopg
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_asis.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_asis.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_binary.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_binary.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_datetime.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_datetime.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_list.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_list.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_pboolean.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_pboolean.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_pdecimal.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_pdecimal.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_pfloat.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_pfloat.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_pint.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_pint.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_qstring.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_qstring.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/bytes_format.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/bytes_format.o
      In file included from psycopg/bytes_format.c:81:
      In file included from ./psycopg/psycopg.h:37:
      ./psycopg/config.h:71:13: warning: unused function 'Dprintf' [-Wunused-function]
      static void Dprintf(const char *fmt, ...) {}
                  ^
      1 warning generated.
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/connection_int.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/connection_int.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/connection_type.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/connection_type.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/cursor_int.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/cursor_int.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/cursor_type.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/cursor_type.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/diagnostics_type.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/diagnostics_type.o
      In file included from psycopg/diagnostics_type.c:27:
      In file included from ./psycopg/psycopg.h:37:
      ./psycopg/config.h:71:13: warning: unused function 'Dprintf' [-Wunused-function]
      static void Dprintf(const char *fmt, ...) {}
                  ^
      1 warning generated.
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/error_type.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/error_type.o
      In file included from psycopg/error_type.c:27:
      In file included from ./psycopg/psycopg.h:37:
      ./psycopg/config.h:71:13: warning: unused function 'Dprintf' [-Wunused-function]
      static void Dprintf(const char *fmt, ...) {}
                  ^
      1 warning generated.
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/green.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/green.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/libpq_support.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/libpq_support.o
      In file included from psycopg/libpq_support.c:29:
      In file included from ./psycopg/psycopg.h:37:
      ./psycopg/config.h:71:13: warning: unused function 'Dprintf' [-Wunused-function]
      static void Dprintf(const char *fmt, ...) {}
                  ^
      1 warning generated.
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/lobject_int.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/lobject_int.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/lobject_type.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/lobject_type.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/microprotocols.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/microprotocols.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/microprotocols_proto.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/microprotocols_proto.o
      In file included from psycopg/microprotocols_proto.c:27:
      In file included from ./psycopg/psycopg.h:37:
      ./psycopg/config.h:71:13: warning: unused function 'Dprintf' [-Wunused-function]
      static void Dprintf(const char *fmt, ...) {}
                  ^
      1 warning generated.
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/notify_type.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/notify_type.o
      In file included from psycopg/notify_type.c:27:
      In file included from ./psycopg/psycopg.h:37:
      ./psycopg/config.h:71:13: warning: unused function 'Dprintf' [-Wunused-function]
      static void Dprintf(const char *fmt, ...) {}
                  ^
      1 warning generated.
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/pqpath.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/pqpath.o
      psycopg/pqpath.c:214:17: warning: implicit conversion from enumeration type 'ConnStatusType' to different enumeration type 'ExecStatusType' [-Wenum-conversion]
                      PQstatus(conn->pgconn) : PQresultStatus(*pgres)));
                      ^~~~~~~~~~~~~~~~~~~~~~
      psycopg/pqpath.c:1871:11: warning: code will never be executed [-Wunreachable-code]
          ret = 1;
                ^
      psycopg/pqpath.c:1990:17: warning: implicit conversion from enumeration type 'ConnStatusType' to different enumeration type 'ExecStatusType' [-Wenum-conversion]
                      PQstatus(curs->conn->pgconn) : PQresultStatus(curs->pgres)));
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      3 warnings generated.
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/psycopgmodule.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/psycopgmodule.o
      psycopg/psycopgmodule.c:689:18: error: incomplete definition of type 'struct _is'
          while (interp->next)
                 ~~~~~~^
      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10/pystate.h:17:8: note: forward declaration of 'struct _is'
      struct _is;
             ^
      psycopg/psycopgmodule.c:690:24: error: incomplete definition of type 'struct _is'
              interp = interp->next;
                       ~~~~~~^
      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10/pystate.h:17:8: note: forward declaration of 'struct _is'
      struct _is;
             ^
      2 errors generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> psycopg2

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
(venv) rohitcoder@Rohits-MacBook-Pro dvpwa % 

I did some research and found, we can use --use-pep517 flag and this may solve issue, i was following pypa/pip#8559 but still it's giving me below error

(venv) rohitcoder@Rohits-MacBook-Pro dvpwa % pip install -r requirements.txt --use-pep517
Collecting aiohttp-jinja2==1.1.0
  Using cached aiohttp_jinja2-1.1.0-py3-none-any.whl (10 kB)
Collecting aiohttp-session==2.7.0
  Using cached aiohttp_session-2.7.0-py3-none-any.whl (14 kB)
Collecting aiohttp==3.5.3
  Using cached aiohttp-3.5.3-py3-none-any.whl
Collecting aiopg==0.15.0
  Using cached aiopg-0.15.0-py3-none-any.whl (31 kB)
Collecting aioredis==1.2.0
  Using cached aioredis-1.2.0-py3-none-any.whl (63 kB)
Collecting async-timeout==3.0.1
  Using cached async_timeout-3.0.1-py3-none-any.whl (8.2 kB)
Collecting attrs==18.2.0
  Using cached attrs-18.2.0-py2.py3-none-any.whl (34 kB)
Collecting chardet==3.0.4
  Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting hiredis==0.3.1
  Using cached hiredis-0.3.1-cp310-cp310-macosx_13_0_arm64.whl
Collecting idna==2.8
  Using cached idna-2.8-py2.py3-none-any.whl (58 kB)
Collecting jinja2==2.10
  Using cached Jinja2-2.10-py2.py3-none-any.whl (126 kB)
Collecting markupsafe==1.1.0
  Using cached MarkupSafe-1.1.0-cp310-cp310-macosx_13_0_arm64.whl
Collecting multidict==4.5.2
  Using cached multidict-4.5.2-py3-none-any.whl
Collecting psycopg2==2.7.6.1
  Using cached psycopg2-2.7.6.1.tar.gz (427 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: pyyaml==3.13 in ./venv/lib/python3.10/site-packages (from -r requirements.txt (line 15)) (3.13)
Collecting trafaret-config==2.0.2
  Using cached trafaret_config-2.0.2-py3-none-any.whl
Requirement already satisfied: trafaret==1.2.0 in ./venv/lib/python3.10/site-packages (from -r requirements.txt (line 17)) (1.2.0)
Collecting yarl==1.3.0
  Using cached yarl-1.3.0-py3-none-any.whl
Building wheels for collected packages: psycopg2
  Building wheel for psycopg2 (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for psycopg2 (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [139 lines of output]
      /private/var/folders/d5/ln34v0y963b1zvpp9vzjmcpr0000gn/T/pip-build-env-gz358qqc/overlay/lib/python3.10/site-packages/setuptools/config/setupcfg.py:508: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
        warnings.warn(msg, warning_class)
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-13-arm64-cpython-310
      creating build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/_json.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/extras.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/errorcodes.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/tz.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/_range.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/_ipaddress.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/__init__.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/psycopg1.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/extensions.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/sql.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      copying lib/pool.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2
      creating build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_transaction.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/dbapi20.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_extras_dictcursor.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_with.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_types_basic.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_bug_gc.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_module.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_psycopg2_dbapi20.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_async.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_dates.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_async_keyword.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/testutils.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_connection.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_copy.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_bugX000.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/__init__.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_cursor.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_types_extras.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_sql.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_fast_executemany.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_green.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_ipaddress.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_cancel.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_quote.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/testconfig.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_errcodes.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_replication.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_lobject.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/test_notify.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      copying tests/dbapi20_tpc.py -> build/lib.macosx-13-arm64-cpython-310/psycopg2/tests
      running build_ext
      building 'psycopg2._psycopg' extension
      creating build/temp.macosx-13-arm64-cpython-310
      creating build/temp.macosx-13-arm64-cpython-310/psycopg
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_asis.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_asis.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_binary.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_binary.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_datetime.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_datetime.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_list.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_list.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_pboolean.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_pboolean.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_pdecimal.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_pdecimal.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_pfloat.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_pfloat.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_pint.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_pint.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/adapter_qstring.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/adapter_qstring.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/bytes_format.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/bytes_format.o
      In file included from psycopg/bytes_format.c:81:
      In file included from ./psycopg/psycopg.h:37:
      ./psycopg/config.h:71:13: warning: unused function 'Dprintf' [-Wunused-function]
      static void Dprintf(const char *fmt, ...) {}
                  ^
      1 warning generated.
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/connection_int.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/connection_int.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/connection_type.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/connection_type.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/cursor_int.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/cursor_int.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/cursor_type.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/cursor_type.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/diagnostics_type.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/diagnostics_type.o
      In file included from psycopg/diagnostics_type.c:27:
      In file included from ./psycopg/psycopg.h:37:
      ./psycopg/config.h:71:13: warning: unused function 'Dprintf' [-Wunused-function]
      static void Dprintf(const char *fmt, ...) {}
                  ^
      1 warning generated.
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/error_type.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/error_type.o
      In file included from psycopg/error_type.c:27:
      In file included from ./psycopg/psycopg.h:37:
      ./psycopg/config.h:71:13: warning: unused function 'Dprintf' [-Wunused-function]
      static void Dprintf(const char *fmt, ...) {}
                  ^
      1 warning generated.
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/green.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/green.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/libpq_support.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/libpq_support.o
      In file included from psycopg/libpq_support.c:29:
      In file included from ./psycopg/psycopg.h:37:
      ./psycopg/config.h:71:13: warning: unused function 'Dprintf' [-Wunused-function]
      static void Dprintf(const char *fmt, ...) {}
                  ^
      1 warning generated.
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/lobject_int.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/lobject_int.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/lobject_type.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/lobject_type.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/microprotocols.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/microprotocols.o
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/microprotocols_proto.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/microprotocols_proto.o
      In file included from psycopg/microprotocols_proto.c:27:
      In file included from ./psycopg/psycopg.h:37:
      ./psycopg/config.h:71:13: warning: unused function 'Dprintf' [-Wunused-function]
      static void Dprintf(const char *fmt, ...) {}
                  ^
      1 warning generated.
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/notify_type.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/notify_type.o
      In file included from psycopg/notify_type.c:27:
      In file included from ./psycopg/psycopg.h:37:
      ./psycopg/config.h:71:13: warning: unused function 'Dprintf' [-Wunused-function]
      static void Dprintf(const char *fmt, ...) {}
                  ^
      1 warning generated.
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/pqpath.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/pqpath.o
      psycopg/pqpath.c:214:17: warning: implicit conversion from enumeration type 'ConnStatusType' to different enumeration type 'ExecStatusType' [-Wenum-conversion]
                      PQstatus(conn->pgconn) : PQresultStatus(*pgres)));
                      ^~~~~~~~~~~~~~~~~~~~~~
      psycopg/pqpath.c:1871:11: warning: code will never be executed [-Wunreachable-code]
          ret = 1;
                ^
      psycopg/pqpath.c:1990:17: warning: implicit conversion from enumeration type 'ConnStatusType' to different enumeration type 'ExecStatusType' [-Wenum-conversion]
                      PQstatus(curs->conn->pgconn) : PQresultStatus(curs->pgres)));
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      3 warnings generated.
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -DPSYCOPG_DEFAULT_PYDATETIME=1 "-DPSYCOPG_VERSION=2.7.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=140002 -DHAVE_LO64=1 -I/Users/rohitcoder/Desktop/dvpwa/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -I. -I/Applications/Postgres.app/Contents/Versions/14/include -I/Applications/Postgres.app/Contents/Versions/14/include/postgresql/server -c psycopg/psycopgmodule.c -o build/temp.macosx-13-arm64-cpython-310/psycopg/psycopgmodule.o
      psycopg/psycopgmodule.c:689:18: error: incomplete definition of type 'struct _is'
          while (interp->next)
                 ~~~~~~^
      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10/pystate.h:17:8: note: forward declaration of 'struct _is'
      struct _is;
             ^
      psycopg/psycopgmodule.c:690:24: error: incomplete definition of type 'struct _is'
              interp = interp->next;
                       ~~~~~~^
      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10/pystate.h:17:8: note: forward declaration of 'struct _is'
      struct _is;
             ^
      2 errors generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for psycopg2
Failed to build psycopg2
ERROR: Could not build wheels for psycopg2, which is required to install pyproject.toml-based projects

Any workaround or solution for this @anxolerd ? I'm using Mac M1 & it's a python3 environment

rohitcoder@Rohits-MacBook-Pro ~ % python3 --version
Python 3.10.9
rohitcoder@Rohits-MacBook-Pro ~ % pip3 --version                              
pip 22.3.1 from /opt/homebrew/lib/python3.10/site-packages/pip (python 3.10)

Better description

Provide better description on project issues.

Show examples how to pwn this web application in description.

Instructions for accessing this container

Hi!

Exploring your project for use in teaching kids. Could you add a little documentation for accessing your container after you've installed it? I'm sure this is basic docker stuff, but it's been a couple of years since I've done substantial docker work and now I can't recall how to access a running container from localhost. I'm sure I won't be the only person running into this issue :D

FWIW:

$ docker container ls   
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
28a7907aaa20        redis:alpine        "docker-entrypoint.s…"   4 minutes ago       Up 4 minutes        6379/tcp            dvpwa_redis_1
c78d1813e5c4        dvpwa_postgres      "docker-entrypoint.s…"   4 minutes ago       Up 4 minutes        5432/tcp            dvpwa_postgres_1 

when I attempt to browse to localhost:8080 from the Host operating system, i get a traditional safari "server not found" error.

write-up available?

Hi,

is there a write-up with all the vulns?

or it only has the 3 vulns listed in the readme file?

thanks!

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.